Translated:Best Photo Applications For Ubuntu Linux.md

This commit is contained in:
GOLinux 2014-05-28 09:50:42 +08:00
commit b6446ac113
12 changed files with 742 additions and 386 deletions

View File

@ -1,6 +1,8 @@
关于Linux Shell脚本的10个有用的“面试问题和解答”
Linux Shell脚本的10个有用的“面试问题和解答”
================================================================================
首先致上每日问候。Linux的浩瀚无垠使人总能每次都提交与众不同的内容。我们“**The-Tecmint-Team**”的工作是给我们的读者提供一些独特的内容,这些内容不仅对他们的职业生涯很有用,同时也让他们增长知识。在此,我们就尝试这么去做,至于能取得多大的成功,就由我们的读者朋友们来判断吧。
![Questions on Shell Scripting](http://www.tecmint.com/wp-content/uploads/2014/05/Questions-on-Shell-Scripting.png)
我们为各类用户提供了关于**Shell脚本**语言和**面试问题**的很多教程,可以访问以下链接去阅读这些文章。
@ -8,8 +10,10 @@
- [面试问题与解答系列][2]
在此作为shell脚本的附加内容在本文中我们将从面试的角度解读与Linux Shell相关的问题。
#### 1. 在shell脚本成功执行后你怎么退出脚本 ####
> **解答**我们需要使用exit命令来实现以上描述的情境。但exit命令被强制输出非0值脚本会报错并退出。在Unix环境下的shell脚本中0值表示成功执行。因此在脚本终止前赋予一个不带引号的exit -1命令将使脚本退出。
#### 1. 在shell脚本成功执行前如何中断脚本执行 ####
> **解答**我们需要使用exit命令来实现以上描述的情境。exit命令被强制输出非0值时脚本会报错并退出。在Unix环境下的shell脚本中0值表示成功执行。因此在脚本终止前执行一个不带引号的exit -1命令将使脚本中止。
例如,创建以下一个名为“**anything.sh**”的脚本。
@ -26,9 +30,12 @@
exit.sh: 3: exit: Illegal number: -1
从上面的脚本中可以清楚地看到在exit -1命令前脚本执行得很好。
#### 2. 如何使用Linux命令来移除文件头 ####
> **解答**当我们需要删除文件中的指定行时sed命令可以用来解决该问题。
这个是用来删除文件头(文件的首行)的确切命令。
这个是用来删除文件头(文件的首行)的正确命令。
# sed '1 d' file.txt
@ -41,26 +48,30 @@
# sed -i '1 d' file.txt
#### 3. 你怎么检查一个文本文件中某一行的长度? ####
> **解答**sed命令也可以用来查找文本文件中的某一行或者检查其长度。
**sed -n n p file.txt**’可以解决,这里‘**n**’表示行号,‘**p**’打印出模式空间(到标准输出),该命令通常与**-n**命令行选项连用。那么,怎样来获取长度计数呢?很明显,我们需要通过管道输出给‘**wc**’命令来计算。
**sed -n n p file.txt**’可以解决,这里‘**n**’表示行号,‘**p**’打印出匹配内容(到标准输出),该命令通常与**-n**命令行选项连用。那么,怎样来获取长度计数呢?很明显,我们需要通过管道输出给‘**wc**’命令来计算。
# sed n 'n p' file.txt | wc c
To get the length of line number 5 in the text file **tecmint.txt**, we need to run.
要得到文本文件‘**tecmint.txt**’的第五行的长度,运行如下命令:
# sed -n '5 p' tecmint.txt | wc -c
#### 4. 可以在Linux系统上查看到所有非打印字符吗你是怎么做到的 ####
> **解答**可以。可以在Linux中查看所有的非打印字符。要实现上面所讲的方案我们需要vi编辑器的帮助。
怎样在‘**vi**’编辑器中显示非打印字符?
- 打开vi编辑器。
- 先按[esc]键然后按进入到vi编辑器的命令模式。
- 最后vi编辑器的命令界面输入[set list]命令并执行。
- 最后vi编辑器的命令界面输入`set list`命令并执行。
**注**: 这种方式可以查看文本文件中的所有非打印字符,包括**ctrl+m^M**。
**注**: 这种方式可以查看文本文件中的所有非打印字符,包括**ctrl+m\^M**。
#### 5. 假如你是一个员工组的团队领导为xyz公司工作。公司要求你创建一个dir_xyz目录让该组成员都能在该目录下创建或访问文件但是除了文件创建者之外的其他人不能删除文件你会怎么做 ####
#### 5. 假如你是一个员工组的团队领导为xyz公司工作。公司要求你创建一个dir_xyz目录让该组成员都能在该目录下创建或访问文件但是除了文件创建者不能删除文件你会怎么做 ####
> **解答**:这真是个有趣的工作方案。好吧,上面所讲的方案,我们需要通过下面的步骤来实施,这简直就是小菜一碟。
# mkdir dir_xyz
@ -68,17 +79,22 @@ To get the length of line number 5 in the text file **tecmint.txt**,
# chmod +t dir_xyz
第一行命令创建了一个目录(**dir_xyz**上面的第二行命令让组g具有执行的权限而上面的最后一行命令——权限位最后的+t粘滞位它用来替换x表明在这个目录中文件只能被它们的拥有者、目录的拥有者或者是超级用户root删除。
#### 6. 你能告诉我一个Linux进程经历的各个阶段吗 ####
> **解答**一个Linux进程在它的处理生活中通常经历了四个主要阶段。
> **解答**一个Linux进程在它的一生中通常经历了四个主要阶段。
这里是Linux进程要经历的四个阶段。
- 等待Linux进程等待资源。
- 运行Linux进程当前正在执行中。
- 停止Linux进程在成功执行或收到杀死进程信号后停止。
- 僵尸:当一个进程被称为‘僵尸’,如果该进程已经结束,那么它会仍然活动在进程表中
- 停止Linux进程在成功执行或收到杀死进程信号后停止。
- 僵尸:如果该进程已经结束,但仍然留在进程表中,被称为‘僵尸’
#### 7. Linux中cut命令怎么用 ####
> **解答**cut是一个很有用的Linux命令当我们要截取文件的指定部分并打印到标准输出当文本区域以及文件本身很大时该命令被证明对操作很有帮助。
> **解答**cut是一个很有用的Linux命令当我们要截取文件的指定部分并打印到标准输出当文本区域以及文件本身很大时这个命令很有用。
例如,截取‘**txt_tecmint**文件的前10列。
# cut -c1-10 txt_tecmint
@ -88,13 +104,17 @@ To get the length of line number 5 in the text file **tecmint.txt**,
# cut -d;-f2 -f5 -f7 txt_tecmint
#### 8. cmpdiff命令的区别是什么 ####
> **解答**cmpdiff命令用来获取相同的东西但各有侧重。
**diff**’命令对文件的修改,所以这两个文件看起来相同。而‘**cmp**’命令将两个文件逐字节对比,并报告第一个不匹配的项。
**diff**’命令输出为了使两个文件一样而应该做的修改。而‘**cmp**’命令则将两个文件逐字节对比,并报告第一个不匹配的项。
#### 9. 可以用echo命令来替换ls命令吗 ####
> **解答**可以的。ls命令可以用echo命令来替代。ls命令列出文件内容从替换上述命令的角度讲我们可以使用echo *’,很明显不需要引号,两个命令的输出完全一样。
> **解答**可以的。ls命令可以用echo命令来替代。ls命令列出目录内容从替换上述命令的角度讲我们可以使用echo *’,两个命令的输出完全一样。
#### 10. 你可能听过inode吧。你能简要描述一下inode吗 ####
> **解答**inode是一个数据结构在Linux上用于文件标识。每个文件在Unix系统上有一个独立的inode和一个唯一的inode号。
到此为止吧。在下一篇文章中我们将讨论另外一些有趣味性而又有知识性的面试问题。到那时别跑开请上Tecmint.com别忘了在下面的评论部分给我们提供一些有价值的反馈哦。
@ -103,7 +123,7 @@ To get the length of line number 5 in the text file **tecmint.txt**,
via: http://www.tecmint.com/interview-questions-on-shell-scripting/
译者:[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

@ -8,29 +8,37 @@ Coverity 扫描报告首次发现开源软件质量超过专有软件
来自美国山景城加州的消息Coverity公司新思科技公司的一个子公司发布了2013年Coverity扫描开源软件报告。
经过Coverity扫描服务以及按照Coverity开发测试平台的商业惯例报告中详细说明了关于7.5亿行开源软件代码的分析,这是至今报告研究的最大的样本量。
经过Coverity扫描服务以及按照Coverity开发测试平台的商业惯例报告中详细分析了关于7.5亿行开源软件代码的分析,这是至今报告研究的最大的样本量。
在2013年Coverity扫描报告中他们分析了超过700个C/C++开源项目和一个匿名的企业项目的样本。另外报告中还强调了几个流行的开源Java项目的分析结果这些项目从2013年3月就加入了扫描服务。
Coverity扫描开源项目报告成为了一个被广泛接受的衡量开放源代码质量状态的标准。在过去8年时间里Coverity扫描服务分析了超过1500个开源项目的数亿行代码——其中包括的C/C++项目中有NetBSD, FreeBSDLibreOffice和Linux等Java项目中有Apache HadoopHBase以及Cassandra等。
自2006年已来扫描服务帮助开发者发现和修复了超过94,000缺陷。近50,000缺陷是仅在2013年一年修复的——这是扫描服务的用户在一年中修复缺陷的最大数量。在这些缺陷中其中有超过11,000的缺陷修复于服务中四个最大的项目NetBSDFreeBSDLibreOffice和Linux。
自2006年已来扫描服务帮助开发者发现和修复了超过94,000缺陷。仅在2013年一年就修复了近50,000个缺陷——这是扫描服务的用户在一年中修复缺陷的最大数量。在这些缺陷中其中有超过11,000的缺陷修复出现在扫描服务中的四个最大的项目NetBSDFreeBSDLibreOffice和Linux。
### 2013年报告中重要发现包括 ###
* C/C++项目中开源软件代码质量超过专有软件。缺陷密度每1,000行软件代码所含的缺陷是一个通用的测量软件质量的方法缺陷密度1.0被认为是高质量软件的公认的行业标准。
#### C/C++项目中开源软件代码质量超过专有软件
Coverity的分析中发现扫描服务中的开源的C/C++项目的平均缺陷密度为 .59而为企业项目开发的专有C/C++代码的缺陷密度为 .72。在2013年在所有不同大小的代码库中扫描服务中的开源项目的代码质量超过专有项目这进一步强调了开源社区开发测试的坚定的承诺
缺陷密度每1,000行软件代码所含的缺陷是一个通用的测量软件质量的方法缺陷密度1.0被认为是高质量软件的公认的行业标准
* Linux继续成为开源质量的基准。通过利用扫描服务Linux将修复一个新发现的缺陷的时间从122天减少到仅6天。从2008年第一个Coverity扫描报告发布后扫描过的Linux版本的缺陷密度一直小于1.0。在2013年Coverity扫描了超过850万行Linux代码并发现缺陷密度为 .61
Coverity的分析中发现扫描服务中的开源的C/C++项目的平均缺陷密度为 0.59而为企业项目开发的专有C/C++代码的缺陷密度为 0.72。在2013年在所有不同大小的代码库中扫描服务中的开源项目的代码质量超过专有项目这进一步强调了开源社区开发测试的坚定的承诺
* C/C++开发者修复了更多的高风险缺陷。Coverity分析报告发现贡献于开源Java项目的开发者修复的高风险缺陷的数量没有贡献于开源C/C++项目的开发者修复的多。
#### Linux继续成为开源质量的基准
参加扫描服务的Java项目开发者只修复了百分之13的经鉴定的资源泄露而C/C++项目开发者修复了百分之46。这一方面可能是因为Java编程社区错误的安全感的原因这种安全感是因为内建于语言的保护比如垃圾收集。然而垃圾收集是不可预测的而且不能访问系统资源所以这些项目处于危险之中
通过利用扫描服务Linux将修复一个新发现的缺陷的时间从122天减少到仅6天从2008年第一个Coverity扫描报告发布后扫描过的Linux版本的缺陷密度一直小于1.0。在2013年Coverity扫描了超过850万行Linux代码并发现缺陷密度为 0.61
* HBase是Java项目的基准。 Coverity分析了100个开源Java项目的超过800万行代码包括流行的大数据项目Apache Hadoop 2.3 (320,000 行代码)和Apache Cassandra (345,000 行代码)。
#### C/C++开发者修复了更多的高风险缺陷
自从在2013年8月加入扫描服务以来Apache HBase——Hadoop的数据库——修复了超过220个缺陷其中包括比其他参加扫描服务Java项目更高比例的资源泄露HBase的缺陷中资源泄露占的比例为66%而其他项目平均为13%)。
Coverity分析报告发现贡献于开源Java项目的开发者修复的高风险缺陷的数量没有贡献于开源C/C++项目的开发者修复的多。
参加扫描服务的Java项目开发者只修复了13%的被指出的资源泄露而C/C++项目开发者则修复了46%。这一方面可能是因为Java编程社区错误的安全感的原因这种安全感是因为内建于语言的保护比如垃圾收集。然而垃圾收集是不可预测的而且不能访问系统资源所以这些项目处于危险之中。
#### HBase是Java项目的基准
Coverity分析了100个开源Java项目的超过800万行代码包括流行的大数据项目Apache Hadoop 2.3 (320,000 行代码)和Apache Cassandra (345,000 行代码)。
自从在2013年8月加入扫描服务以来Apache HBase (Hadoop的数据库)修复了超过220个缺陷其中包括比其他参加扫描服务Java项目更高比例的资源泄露HBase的缺陷中资源泄露占的比例为66%而其他项目平均为13%)。
“如果说软件正在吞食世界那么开源软件则是带头冲锋”Coverity的产品高级总监Zack Samocha说“我们的目标包括Coverity扫描服务在内是帮助开源软件社区创作高质量的软件。基于这个报告的结果——以及这个日益流行的服务——使用开发测试的开源软件项目继续提升他们软件的质量这让他们使整个行业更上一层楼。”

View File

@ -1,10 +1,10 @@
戴文的Linux内核专题23 配置内核 (19)
================================================================================
![](http://www.linux.org/attachments/slide-jpg.626/)
![](http://www.linux.org/attachments/slide-jpg.626/.jpg)
欢迎进入Linux内核系列文章的下一篇我们正在接近配置过程的终点。在这篇文章中我们将会讨论固件驱动和文件系统驱动。
这个分类中的第一个驱动是寻找启动盘(BIOS Enhanced Disk Drive calls determine boot disk)。有时Linux不会知道个盘是启动盘。这个驱动允许内核询问BIOS。Linux接着在sysfs上存储信息。Linux需要知道这些来设置bootloader。
这个分类中的第一个驱动是寻找启动盘(BIOS Enhanced Disk Drive calls determine boot disk)。有时Linux不会知道个盘是启动盘。这个驱动允许内核询问BIOS。Linux接着在sysfs上存储信息。Linux需要知道这些来设置bootloader。
即使BIOS EDD服务被编译进了内核这个选项可以设置这些服务不激活(Sets default behavior for EDD detection to off )。EDD代表的是"Enhanced Disk Drive"(增强磁盘驱动器)。
@ -30,7 +30,7 @@
"Ext2 POSIX Access Control Lists"增加了额外的非原生的权限模型。
"Ext2 Security Labels"增强了SELinux提供的安全性。
"Ext2 Security Labels"增强了SELinux提供的安全性。
启用"Ext2 execute in place support"允许可执行文件在当前的位置执行而不必在页缓存中执行。
@ -80,7 +80,7 @@ Linux系统也支持NIL-FileSystem(NILFS2 file system support)。[http://www.lin
为了支持一些文件系统使用到的flock()系统调用,启用这个驱动(Enable POSIX file locking API)。禁用这个去的那个会减少11KB的内核大小。这个驱动提供了文件锁定。文件锁定是一个允许进程在某刻读取文件的过程。这通常用于网络文件系统就像NFS。
"Dnotify support"驱动是一个古老的文件系统通知系统,它提醒文件系统上的事件的用户空间。它的一个用处和它的继承者被用于监控应用的文件系统。某个应用告诉守护进程需要监视哪些事件。不然,每个用户空间应用需要它们自己完成这个任务。
"Dnotify support"驱动是一个古老的文件系统通知系统,它提醒文件系统上的事件的用户空间。它和它的继承者被用于监控应用的文件系统。某个应用告诉守护进程需要监视哪些事件。不然,每个用户空间应用需要它们自己完成这个任务。
记住Dnotify是一个古老的系统那么什么是新的通知系统它就是由这个驱动提供的Inotify (Inotify support for userspace)。
@ -106,14 +106,13 @@ Linux系统也支持NIL-FileSystem(NILFS2 file system support)。[http://www.lin
一个特殊的FUSE扩展可以用于在用户空间使用字符设备Character device in Userspace support)。
In the next article, we will discuss caches, optical disc filesystems, FAT32 on Linux, and other interesting filesystem topics. Mahalo!
下一篇文章中我们会继续讨论缓存光盘文件系统Linux上的FAT32和其他有趣的文件系统话题。谢谢
--------------------------------------------------------------------------------
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-19.4929/
译者:[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,8 +1,8 @@
戴文的Linux内核专题24 配置内核 (20)
================================================================================
![](http://www.linux.org/attachments/slide-jpg.663/)
![](http://www.linux.org/attachments/slide-jpg.663/.jpg)
欢迎进入Linux内核系列文章的下一篇!本篇我们就爱哪个会继续配置文件系统。
欢迎进入Linux内核系列文章的下一篇!本篇我们继续配置文件系统。
首先,我们启用"General filesystem local caching manager",它允许内核存储文件系统缓存。这可以增加在存储空间开销上的性能。
@ -18,7 +18,7 @@
为了增强网络文件系统的速度,启用接下来的驱动(Filesystem caching on files)。这个特性允许整个本地文件系统被用于远程文件系统和存储单元的缓存。Linux内核会管理这个分区。
有两种不同的用于调试驱动用于本地缓存系统和远程文件系统,它们是(Debug CacheFiles)和(Gather latency information on CacheFiles)。
有两种不同的用于调试驱动用于本地缓存系统和远程文件系统,它们是(Debug CacheFiles)和(Gather latency information on CacheFiles)。
大多数通常的光盘文件系统是ISO 9660标准的ISO-9660故名(ISO 9660 CDROM file system support)。这个驱动用于读/写主流的光盘。
@ -125,7 +125,7 @@ flash友好型文件系统(Flash-Friendly FileSystem)是一种对于闪存设备
via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-20.4957/
译者:[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,42 @@
4MLinux 9.0 Beta Is a 55 MB Operating System That Has It All
================================================================================
![](http://i1-news.softpedia-static.com/images/news2/4MLinux-9-0-Beta-Is-a-55-MB-Operating-System-that-Has-It-All-443946-2.jpg)
**4MLinux, a mini Linux distribution that is focused on the 4Ms of computing, Maintenance (system rescue Live CD), Multimedia (e.g., playing video DVDs), Miniserver (using the inetd daemon), and Mystery (Linux games), has advanced to version 9.0 Beta.**
4MLinux is one of the smallest distributions in the world that are still able to provide users with a desktop environment and a number of applications that can make this OS something to be used on a daily basis.
Most of the minimalistic Linux operating systems don't usually provide such a plethora of applications right from the start, especially if we keep in mind that the distro only weighs a little over 55MB.
“The main features in this release are maintenance (MBR and GPT partitioning software, 4MLinux Backup Scripts 9.0, ClamAV 0.98.3), multimedia (MPlayer SVN-r37146, FFmpeg Git-2014-04-10), a mini server (FTP, HTTP, SSH, SFTP), and mystery (a set of small games).”
“The X Window System is based on X.Org Server 1.15.1, Mesa 10.1.3, JWM 2.2.2, and the FOX toolkit 1.6.49. Fully automatic installation of the vanilla versions of LibreOffice 4.2.4, Java RE 7u55, and VirtualBox 4.3.12 is also supported. The size of the ISO image is about 55 MB,” said the developer on his blog.
As you can see, most of the packages provided are very new, like VirtualBox, LibreOffice, Mesa, Ffmpeg, ClamAV, and so on. If you have any doubts about this release, you can always start it in a virtual machine and take it for a spin.
What's interesting is the fact that users can stop the booting process right before the X Server kicks in and use the system in command line, which is actually a nice change of pace.
The developer will now start to release all the other distributions that he is building around this major update, like Allinone, Gaming, Server, Media, Rescue, and so on. Keep in mind that you can install any of these Linux distros from the main launcher with the help of a very simple piece of software.
Users will also find that most of the applications that you need are available in the repositories and that the 4MLinux distro can be turned into any of the flavors mentioned above just by downloading the appropriate packages.
A complete list of changes and updates can be found in the official [announcement][1].
### Download 4MLinux 9.0 Beta: ###
- [4MLinux 8.2 (ISO)][2][iso] [53.90 MB]
- [4MLinux 9.0 Beta (ISO)][3][iso] [53 MB]
Remember that this is a development version and it should NOT be installed on production machines. It is intended for testing purposes only.
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/4MLinux-9-0-Beta-Is-a-55-MB-Operating-System-that-Has-It-All-443946.shtml
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://4mlinux-releases.blogspot.ro/2014/05/4mlinux-90-beta-released.html
[2]:http://sourceforge.net/projects/linux4m/files/8.0/updates/8.2/livecd/4MLinux-8.2.iso/download
[3]:http://sourceforge.net/projects/linux4m/files/9.0/livecd/4MLinux-9.0.iso/download

View File

@ -0,0 +1,39 @@
alim0x translating
Apache Tomcat 7.0.54 Now Available for Download
================================================================================
![](http://i1-news.softpedia-static.com/images/news2/Apache-Tomcat-7-0-54-Now-Available-for-Download-443862-2.jpg)
**Apache Tomcat 7.0.54, an open source software implementation of the Java Servlet and JavaServer Pages technologies, developed under the Java Community Process, is now available for download.**
It's been a while since the latest Apache Tomcat release, but this only means that the devs had more time to get more fixes and changes into the software. This is a source package, so regular users don't really need it.
According to the changelog, the custom UTF-8 decoder has been fixed, more options have been added for managing the FIPS mode in the AprLifecycleListener, an infinite loop has been avoided if an application calls session.invalidate() from the destroyed session, removing an MBean notification listener now reverts all the operations performed when adding an MBean notification listener, and information about finished deployment and its execution time has been added to the log files.
Also, a few additional locations where, theoretically, a memory leak could occur have been patched, the authentication of users when using the JAASMemoryLoginModule has been fixed, and a regression in the handling of back-slash has been corrected.
A complete list of changes, fixes, and new features can be found in the official changelog, inside the source archive.
### Download Apache Tomcat 7.0.54 (violetagg): ###
- [tar.gz (6.0.39 Stable)][1][binary] [6.70 MB]
- [tar.gz (6.0.39 Stable)][2][sources] [3.40 MB]
- [tar.gz (7.0.52 Development)][3][binary] [8 MB]
- [tar.gz (7.0.52 Development)][4][sources] [4.40 MB]
- [zip (8.0.3 Beta Development)][5][binary] [8.10 MB]
- [tar.gz (8.0.3 Beta Development)][6][sources] [4.40 MB]
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Apache-Tomcat-7-0-54-Now-Available-for-Download-443862.shtml
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://mirrors.hostingromania.ro/apache.org/tomcat/tomcat-6/v6.0.39/bin/apache-tomcat-6.0.39.tar.gz
[2]:http://mirrors.hostingromania.ro/apache.org/tomcat/tomcat-6/v6.0.39/src/apache-tomcat-6.0.39-src.tar.gz
[3]:http://www.apache.org/dist/tomcat/tomcat-7/v7.0.52/bin/apache-tomcat-7.0.52.tar.gz
[4]:http://www.apache.org/dist/tomcat/tomcat-7/v7.0.52/src/apache-tomcat-7.0.52-src.tar.gz
[5]:http://mirrors.hostingromania.ro/apache.org/tomcat/tomcat-8/v8.0.3/bin/apache-tomcat-8.0.3.tar.gz
[6]:http://mirrors.hostingromania.ro/apache.org/tomcat/tomcat-8/v8.0.3/src/apache-tomcat-8.0.3-src.tar.gz

View File

@ -1,3 +1,5 @@
alim0x translating
Ubuntu Devs Propose Creating Separate Unity 8 Desktop Flavor to Aid Development
================================================================================
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/05/1.jpg)

View File

@ -0,0 +1,140 @@
CNprober 翻译中<travelwithheart@yeah.net, 619913541>
A Complete Historical Timeline of Linux Evolution
================================================================================
![](http://www.linuxfederation.com/wp-content/uploads/2014/05/linux-evolution.jpg)
Linux is Everywhere, at home, offices, colleges, labs and space stations. But it was not the dominant force in the past it is now, it all started as a hobby by a Finish student. Linux has evolved from a hobby into a computing revolution. We present you with the most complete historical timeline of Linux Evolution on the web spanning over 23 years.
### 1991 ###
**25 August** : The 21 year old Finnish student Linus Benedict Torvalds announced his work on a free operating system in the comp.os.minix Usenet newsgroup.
**1 September** : Linux 0.01 was released on the net.
### 1992 ###
**5 January** : The Linux kernel was relicensed under the GNU GPL with the [v0.12 release][1]. The initial license forbade commercial use. After the change the distribution and sale of possibly modified and unmodified versions of Linux became possible, provided that all those copies be released under the same license and be accompanied by the complete corresponding source code. In a [later interview][2] Linus made the following statement about the license change:
" Making Linux GPLd was definitely the best thing I ever did."
**29 January** : Andrew S. Tanenbaum posted [LINUX is obsolete][3] to the comp.os.minix mailing list. The debate, which is considered a flame war by some people, was about Linux and kernel architecture in general. Tanenbaum argued that microkernels are superior to monolithic kernels and that therefore Linux is obsolete.
**5 April** : The first Linux newsgroup, comp.os.linux, is proposed and started by Ari Lemmke.
**21 May** : Peter MacDonald announces SLS, the first standalone Linux install. It was installable by floppy disk and included such cutting-edge features as TCP-IP networking support and the X Window System. At least 10MB of space on disk was recommended.
### 1993 ###
**17 June** : Slackware was released by Patrick Volkerding. [Slackware][4] is considered to be the first broadly successful Linux distribution and is still in use today.
**16 August** : Ian Murdock (the ian in Debian) released the 1st version of the Debian Linux distribution. Debian is one of the most influential Linux distros, being the basis of MEPIS, Mint, Ubuntu and many others.
**19 August** : Matt Welshs Linux Installation and Getting Started, version 1 is released. This is the first book on Linux.
### 1994 ###
**14 March** : [Version 1.0 of the Linux kernel][5] was released. It supported single-processor i386-based computer systems. Within the 3 years of its existence the kernel code base had grown to 176,250 lines of code.
**26 March** : The first issue of Linux Journal is published. This issue featured an interview with Linus Torvalds and articles written by Phil Hughes, Robert “Bob” Young, Michael K. Johnson, Arnold Robbins, Matt Welsh, Ian A.
**15 August** : William R. Della Croce, Jr. files for the trademark “Linux” and it is registered in September. Della Croce has no known involvement in the Linux community yet sends letters out to prominent Linux companies demanding money for use of the trademark “Linux”. In 1997 the matter was settled by the assignment of the mark to Linus Torvalds on behalf of all Petitioners and Linux users.
**3 November** : Red Hat co-founder Marc Ewing announced the availability of the Red Hat Software Linux on CD-ROM, a commercial product that shipped for a retail price of $49.95 and included 30 days of installation support. Red Hat became the [first $1 billion open source company][6] in 2012.
### 1995 ###
**4 April** : Linux Expo, the first Linux-specific tradeshow and conference series, launches and becomes the most popular and well-attended annual Linux show for the next several years. The price for entry into the exhibit hall and a pass to the conferences was $4. After three years Red Hat takes over organization and becomes the major sponsor.
### 1996 ###
**9 May** : The Tux mascot was created by Larry Ewing in 1996 after an initial suggestion made by Alan Cox and further refined by Linus Torvalds on the Linux kernel mailing list. The concept of the Linux mascot being a penguin came from Linus Torvalds, who claims to have contracted penguinitis after being gently nibbled by a penguin.
**9 June** : [Version 2.0 of the Linux Kernel][7] was released. It was a significant improvement over the earlier versions being the first stable kernel to support multiple processors in a single system (SMP) and more processor types. Linux becomes a serious alternative for many companies. You can read an in advance [review of Linux Version 2.0][8] that was published in August 1996 in the Linux Journal to learn more about the improvements.
**14 October** : Matthias Ettrich founded the KDE project in 1996 as he was troubled by the inconsistency of applications running on the Unix desktop.
### 1997 ###
**9 January** : Bliss, first “Linux Virus” was discovered. Bliss does not circumvent the security of the system, it relies on people with privilege to do something dumb and reminds users to install digitally signed software from trustworthy sites only and to check signatures before installing.
“In fact its probably easier to write a virus for Linux because its open source and the code is available. So we will be seeing more Linux viruses as the OS becomes more common and popular.” —Wishful thinking from McAfee.
### 1998 ###
**1 May** : The Google search engine was launched. Not only is it one of the best search engines around, but its based on Linux and features a Linux-specific search page.
**4 December** : A report from IDC says that Linux shipments rose by more than 200% in 1998, and its market share rose by more than 150%. Linux has a 17% market share and a growth rate unmatched by any other system on the market.
### 1999 ###
**9 February** : Linux and BSD users unite for “Windows Refund Day”. They visit Microsoft, hoping to return the unused Windows licenses that they were forced to acquire when they purchased a computer system bundled with the OS.
**3 March** : Another influential desktop environment arrives in the Linux World, [the GNOME desktop][9]. GNOME is the default desktop environment in several major Linux distributions like Debian, Fedora, Red Hat Enterprise Linux, and SUSE Linux Enterprise Desktop.
### 2000 ###
**4 February** : The latest IDC report suggests that Linux now ranks as the “second-most-popular operating system for server computers”, with 25% of the server operating system sales in 1999. Windows NT is first with 38% and NetWare ranks third with 19%.
**11 March** : Motorola Computer Group announces the release of its HA Linux distribution. This distribution is aimed at telecommunications applications that require very high amounts of uptime; it includes hot-swap capability and is available for the i386 and PowerPC architectures.
**23 March** : Ericsson announces its “Screen Phone HS210” product—a Linux-based telephone with a touchscreen that can be used for e-mail, web browsing, etc. Ericsson and Opera Software also announce that Ericssons (Linux-based) HS210 Screen Phone will incorporate the Opera web browser.
**30 September** : Knoppix was one of the first Linux live distributions when initially released by Linux consultant Klaus Knopper.
### 2001 ###
**3 January** : The US National Security Agency (NSA) releases SELinux under the GPL. SELinux offers an additional layer of security checks in addition to the standard UNIX-like permissions system.
### 2003 ###
**6 March** : The SCO Group (SCO) announced that they were suing IBM for $1 billion, claiming that IBM transferred SCO trade secrets into Linux. Later SCO began numerous legal claims and threats against many of the major names in the computer industry, including HP, Microsoft, Novell, Silicon Graphics, Sun Microsystems and Red Hat. The jury case was decided on 30 March 2010 in Novells favour
### 2004 ###
**20 October** : [Ubuntu][10] came into life with the unusual version number 4.10, referring to its release date in October 2004 and the odd code name Warty Warthog. Ubuntus development is led by Canonical Ltd., a company owned by Mark Shuttleworth. While not being a major contributor to the kernel, Ubuntu plays an important part in the adoption of Linux on desktops and laptops.
### 2007 ###
**6 June** : ASUS announced two Eee PC models at Computex Taipei 2007: the 701 and 1001. The 1st Eee PCs came pre-installed with Xandros Linux, a lightweigt distribution optimized for small displays based on Debian.
**8 August** : Linux Foundation was founded in 2007 by the merger of the [Open Source Development Labs][11] (OSDL) and the [Free Standards Group][12] (FSG). The Linux Foundation sponsors the work of Linux creator Linus Torvalds and is supported by leading Linux and open source companies, including prominent technology corporations such as Fujitsu, HP,IBM, Intel, NEC, Oracle, Qualcomm, Samsungand developers from around the world.
**5 November** : Instead of announcing a Gphone as speculated beforehand, [Google announced][13] the Open Handset Alliance and [Android][14] calling it "the first truly open and comprehensive platform for mobile devices".
### 2009 ###
**29 January** : In January 2009 the New York Times stated: “More than 10 million people are estimated to run Ubuntu today”.
### 2011 ###
**11 May** : Google announced the Chromebook at the Google I/O conference 2011. Chromebooks are laptops running the so-called cloud operating system Chrome OS, that is based on the Linux kernel.
**21 June** : Linus Torvalds announces the release of Linux 3.0.
### 2013 ###
**13 December** : Valve Corporation announces its Linux-based operating system SteamOS for video game consoles.
--------------------------------------------------------------------------------
via: http://www.linuxfederation.com/complete-historical-timeline-linux-evolution/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://www.kernel.org/pub/linux/kernel/Historic/old-versions/RELNOTES-0.12
[2]:http://j.mp/fs-pragmatist
[3]:https://en.wikipedia.org/wiki/Tanenbaum%E2%80%93Torvalds_debate
[4]:http://www.slackware.com/
[5]:https://www.kernel.org/pub/linux/kernel/v1.0/
[6]:http://www.informationweek.com/software/operating-systems/red-hat-first-$1-billion-open-source-company/d/d-id/1103616
[7]:https://www.kernel.org/pub/linux/kernel/v2.0/
[8]:http://www.linuxjournal.com/article/1311
[9]:http://www.gnome.org/
[10]:http://www.ubuntu.com/
[11]:https://en.wikipedia.org/wiki/Open_Source_Development_Labs
[12]:https://en.wikipedia.org/wiki/Free_Standards_Group
[13]:http://googleblog.blogspot.com/2007/11/wheres-my-gphone.html
[14]:http://www.android.com/

View File

@ -0,0 +1,63 @@
Translating by GOLinux ... Anybody want this?
Best Photo Applications For Ubuntu Linux
================================================================================
![](http://itsfoss.com/wp-content/uploads/2014/05/Image_Applications_Linux.jpeg)
When I last wrote about [reasons to switch to Linux][1], a reader suggested me to write about Linux alternatives of popular Windows applications. After all it is one of the most common concern among Windows users thinking to switch to Linux.
In an effort to address the same concern, in this article, I have listed photo related applications that could be used for various purposes. Its not really alternatives to Windows programs but rather a collection of **image related applications in Linux** that could be used for various purposes.
### Image editing applications in Linux ###
When I say image editing, I mean hardcore professional style photo editing. In other words I am talking about [Photoshop][2]. When it comes to Linux alternative to Adobe Photoshop, there is only one name that comes to mind: [GIMP][3]. GIMP is a cross platform, full featured, professional grade image editing application that comes with almost all the features as Photoshop. Unlike Photoshop, GIMP is free in all platforms such as Linux, Windows, OS X etc.
You can install GIMP is Ubuntu from Ubuntu Software Center.
If you are Photoshop addict and have difficulties in adjusting to looks and shortcuts of GIMP, I would recommend [Gimpshop][4]. Its basically GIMP but made to feel and look like Photoshop. And its free as well.
### Photo management applications in Linux ###
I am talking about applications that handle image library. You can view your images, import them from camera and phones, edit them a little, share them etc. In Windows, we have Windows Photo Viewer. In Linux, [Shotwell][5] is the most popular photo management these days. It is the default applications in various Linux distributions, Ubuntu being one of them. Unlike GIMP, Shotwell is lightweight but offers very basic editing features.
One good alternative to Shotwell is [gThumb][6].
### Applications to handle raw camera images in Linux ###
As the price of DSLRs decreases, number of (amateur) photographer increases in same proportion. As many DSLRs use RAW format to save the images, default image viewers like Shotwell wont be able to handle these images. This is where application like [digiKam][7] comes in picture. An Open Source software, digiKam lets you handle your high end camera images in a professional manner. You can view, manage, edit, enhance, organize, tag, and share photographs with digiKam.
Another alternative to digiKam is [GTKRawGallery][8] which also focuses on handling camera images.
### Paint applications in Linux ###
If you are looking for Linux alternatives to Microsoft [Paint][9], my first choice is Pinta. You can do a little editing such as annotate with text, draw circles etc. You can draw images with pencil, brush and spray. In Ubuntu, Pinta can be installed from Ubuntu Software Center.
Another alternative to Pinta is [Krita][10] which is more powerful and provides more features. Better than a paint app but not as good as GIMP.
### Instagram like applications in Linux ###
In the end, lets talk about beautifying your images. We have numerous retro image effects apps on mobile devices but thats not the case with desktop. To apply Instagram like effects in Linux, I know only [XnRetro][11] which does the work in a neat way. I recommend reading this article to know more about [how to use XnRetro in Ubuntu][12].
That compiles the list of various type of image applications available in Ubuntu and other Linux distributions. Its not that this is the complete list of such apps. In fact there are many more. I have just listed the best in each category.
What you think? Do you use some other application for a particular purpose? Do share your views with us.
--------------------------------------------------------------------------------
via: http://itsfoss.com/image-applications-ubuntu-linux/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://itsfoss.com/reasons-switch-linux-windows-xp/
[2]:http://www.photoshop.com/
[3]:http://www.gimp.org/
[4]:http://www.gimpshop.com/
[5]:https://wiki.gnome.org/Apps/Shotwell
[6]:https://wiki.gnome.org/action/show/Apps/gthumb?action=show&redirect=gthumb
[7]:http://www.digikam.org/
[8]:http://gtkrawgallery.sourceforge.net/src/en/home.html
[9]:http://pinta-project.com/
[10]:http://krita.org/index.php
[11]:http://www.xnview.com/en/xnretro/
[12]:http://itsfoss.com/add-instagram-effects-xnretro-ubuntu-linux/

View File

@ -0,0 +1,37 @@
Ubuntu Users Will No Longer Have a Cinnamon PPA
================================================================================
![](http://i1-news.softpedia-static.com/images/news2/Ubuntu-Users-Will-No-Longer-Have-a-Cinnamon-PPA-443933-2.jpg)
**Many Ubuntu users have been employing a third-party repository to test Cinnamon without installing Linux Mint to do it, but it seems that that will no longer be possible in the future.**
If you have an Ubuntu operating system, you are now able to test the Cinnamon desktop environment just by adding a PPA and installing the appropriate packages. This is as close as you can get to Linux Mint without actually installing another OS.
Unfortunately, this functionality is about to disappear, but not because the main maintainer doesn't want to continue offering it. Apparently, the Ubuntu repositories will no longer keep older versions of GNOME packages, which Cinnamon requires, making it difficult, if not impossible, to install it through this method.
“The stable PPA is indeed no longer being maintained. The nightly PPA is being kept for development purposes and should not be used on any sort of production machine (it can and will break at any time).”
“To be honest, I don't have an alternative to offer Ubuntu users at the moment, apart from switching to a distribution that does support Cinnamon. There are many such distributions out there, and I'm only hoping for someone to (finally) step up on Ubuntu's side to provide proper packages to its users,” [said][1] Gwendal Le Bihan, the maintainer of the Cinnamon packages.
This means that, for now, only an unstable PPA will be available, but it's only for testing. Users shouldn't employ it on their production machines, and soon the only way to see what Cinnamon looks like will be by installing Linux Mint (or Arch for that matter) or compile it for yourself.
If you still want to install Cinnamon, the unstable PPA is available for Ubuntu 14.04 LTS (Trusty Tahr). All you have to do is to enter a few commands in a terminal (you will need to be root in order for it to work):
sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-nightly
sudo apt-get update
sudo apt-get install cinnamon
After the installation has been completed, all you have to do is to log out of the system and choose Cinnamon from the greeter.
The Cinnamon desktop environment was developed as a GNOME shell fork with the aim to provide a simple and conservative alternative to everything that is offered right now. Many users are not happy with the direction taken by GNOME, Unity, and KDE and are looking for desktops that haven't strayed too much from the norm.
It's possible that someone else will set up another PPA with all the required packages to make Cinnamon work with the upcoming Ubuntu 14.10, but that is unlikely.
--------------------------------------------------------------------------------
via: http://news.softpedia.com/news/Ubuntu-Users-Will-No-Longer-Have-a-Cinnamon-PPA-443933.shtml
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://askubuntu.com/questions/94201/how-do-i-install-the-cinnamon-desktop

View File

@ -1,350 +0,0 @@
#Translating by shipsw#
Ubuntu Touch and Android Dual Boot Installation
===================================
Ubuntu Dual Boot Installer is provided as a tech preview for developers who want to run Ubuntu and Android on a single device. It is not intended to be used by regular users, neither at this point nor as its ultimate goal. Those developers installing it should be familiar with the Ubuntu and Android partition layouts and should also feel at home with manually flashing partitions in case something goes wrong.
Ubuntu Dual Boot Installer was born as an internal skunkworks project some Canonical Engineers dedicated a limited amount of their time to. Seeing the good progress, it was decided to release this preview for the developer community to test, study and contribute to.
Dual boot is not part of the regular Ubuntu release.
## What to expect after installation
- A single device with the ability to switch between fully functional Android and Ubuntu images
- On Android: an Ubuntu Installer app to install Ubuntu, as well as to boot into Ubuntu
- On Android: the SuperUser app to grant permissions to the Ubuntu Installer app
- On Ubuntu: an Ubuntu Dual Boot app to boot into Android
- Ubuntu system updates are not yet supported from the Ubuntu side, but they can be done via the Android app
## Requirements
To install dual-boot, you'll need:
- **A Nexus 4 device** (other [supported Nexus devices][1] should in theory work but have not been tested at the time)
- **Android 4.4.2 or higher** running on the device, either stock firmware or based on CyanogenMod or AOSP.
- **2.7GB of free storage** on the device to install Ubuntu
- **ADB tools** running on your desktop computer
- The device needs its **bootloader to be unlocked and USB debugging enabled**. Follow steps 1 to 3 below to do this, or alternatively, if your device is already unlocked and has USB debugging enabled, you can [skip to the installation process >][2]
### Step 1 - Desktop Setup
The following steps are required on your desktop system that you'll need in order to flash and communicate with the device.
**Set up the Touch Developer Preview Tools PPA**
The PPA is a small mini repository which contains additional software required by this install process. The following section details how to enable and use it.
The PPA has the tools and dependencies to support Ubuntu releases including 12.04, 12.10, 13.04, 13.10 and 14.04. Add the Ubuntu Touch PPA by adding the following custom source list entry to your `/etc/apt/sources.list` file.
On your computer, press `Ctrl+Alt+T` to start a terminal.
sudo add-apt-repository ppa:phablet-team/tools
On Ubuntu 12.04, you will also need to run:
sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
Then do the following:
sudo apt-get update
sudo apt-get install ubuntu-device-flash
### Step 1.5 - Optional Android Backup
- If not enabled, enable developer mode, by tapping `Settings -> About phone -> Build number` (x 7 times)
- If not enabled, enable usb debugging in `Settings -> Developer options -> USB debugging`
- Execute on your computer
$ adb backup -apk -shared -all
This should hopefully create backup.ab with all of your apps, OS, and data. Later, after reflashing with android (or rooting / unlocking) you will be able to use $ adb restore backup.ab to restore all of your data.
### Step 2 - Device unlock
If the device is already unlocked, skip to Step 3. These steps will wipe all personal data from the device.
1. With the device powered off, power on the device by holding the `Power button` + `volume up` + `volume down`.
2. The device will boot into the bootloader.
3. Plug the device into the computer via the USB cable.
4. On your computer, press `Ctrl+Alt+T` to start a terminal. Type sudo fastboot oem unlock, followed by Enter
5. On the device screen, accept the terms of unlocking.
6. Boot the device by pressing the `power button` (pointed by an arrow with Start on the screen).
**Device factory reset**
If you get stuck in a bootloop rebooting the tablet after unlocking the bootloader... Here's what you do:
1. During the bootloop.. hold the `power button` + `volume up` + `volume down` button simultaneously to get yourself back into fastboot mode as you were previously.
2. In fastboot mode.. use the volume keys to scroll to Recovery and the power button to select it.
3. In Recovery (Android robot on his back with a red triangle)... tap the volume up button and the power button simultaneously which will bring you into stock recovery. Again.. Don't hold the buttons, just tap them simultaneously. Also make sure you're holding the correct volume button. Up will be the volume key on the right.
4. Once you're in Recovery.. perform a factory reset/data wipe and then reboot your tablet... you should now be back to the Welcome Screen.
### Step 3 - Initial Device Setup
Follow these initial steps on your device:
1. If not booted, boot the device into Android
2. Enable USB debugging on the device
- on Ice Cream Sandwich (version 4.0) go to Settings and turn on USB Debugging (`Settings > System > Developer options > USB debugging`).
- on Jelly Bean (versions 4.1 and 4.2) you need to enter `Settings, About [Phone|Tablet]` and tap the Build number 7 times to see the Developer Options.
- on 4.2.2, (`settings > about` > tap on build number 7 times to activate the developer options menu item).
- On either Android version you must then enable USB debugging via `Settings > Developer options > USB debugging`. You will also need to accept a host key on the device.
- On the workstation-> `adb kill-server; adb start-server`
3. Plug the device into the computer via the USB cable.
- Depending on the installed Android version, a popup will show up on the device with the host key that needs to be accepted for the device to communicate with the workstation.
- Note, 'adb devices' should not show the device as 'offline'. If it does, unplug the device, run adb under sudo on the workstation (`sudo adb kill-server; sudo adb start-server`), then plug the device back in.
- In some cases, the device will continue to show offline, and the host key popup will not appear if the USB connection method is 'MTP' (default for some devices and versions of Android). Unchecking all options in the USB connection method (`Settings -> Storage -> Menu -> USB computer connection -> MTP, PTP`) seems to resolve this adb connection issue for some users.
4. Save the version of the current image on the device, if on Android, to use as a reference to revert back to. The version can be found by going to `Settings > About Phone > Build Number`.
Newer Nexus 10s have not booted fully after developer mode was enabled. If this occurs boot into the bootloader and do "`fastboot -w`", then proceed to the next step.
## Dual boot installation or upgrade instructions
The procedure at this point is effectively the same for both new installations and upgrades of an existing dual boot installation.
### Installing the Ubuntu Installer app in Android
Ubuntu Note: if you had installed a previous version of Ubuntu dual boot, please make sure to uninstall Ubuntu from the Android app before upgrading to the new Ubuntu dual boot. You can keep the user data, only uninstallation of the base system is recommended.
1. On your computer, download the dual boot installation script into your home directory from: http://humpolec.ubuntu.com/latest/dualboot.sh
2. Open a terminal on your computer pressing the `Ctrl+Alt+T` key combination
3. Make the installation script executable by running this command:
chmod +x dualboot.sh
4. Ensure that your device:
- has booted normally into the Android user interface
- has USB debugging enabled
- has an unlocked bootloader
5. Connect your device via USB to your computer
6. Install dual-boot by running this command on a terminal:
./dualboot.sh
After installation, the phone will reboot several times. Once finished, it will boot into Android and you will find the dual boot app as “Ubuntu Dual Boot” in the Apps section.
Optionally, for alternative ways of using the installer script, [check out the installer reference >][3].
Now follow the instructions below to install Ubuntu from Android.
## Installing Ubuntu from Android
Note: 2.7GB of free memory space is required on your device for the Ubuntu installation.
1. Optionally, on your desktop, and while your device is still connected via USB, issue the following command on the terminal to free up space (say "Yes" if you are asked to grant permissions on the device):
adb shell "su sh rm -rf /cache/*"
2. On the device, press the apps button in Android to bring up the list of apps
3. Browse the apps to find the **Ubuntu Dual Boot** icon and press it to start the app
4. When the app launches, press on **Choose channel to install** and choose a channel to download from (the recommended channel is **utopic**)
5. Once download is completed you need to Grant SU permissions to the application for the install to be successful. Press the **Grant** button, when prompted.
6. Press the **Reboot to Ubuntu** button to boot to Ubuntu.
7. A standard phone reboot with the hard key will always boot to Android.
Notes:
- All channels supported by the phablet-flash tool are also supported by the Ubuntu Installer on Android
- When selecting an Ubuntu channel, the **bootstrap** checkbox lets you wipe user data from Ubuntu, otherwise it is kept between installations. Since you're installing for the first time now, it won't make a difference
- When selecting an Ubuntu channel, unticking the **latest version** checkbox will let you select a particular image number. Otherwise, if checked it will default to the latest image.
- If during installation the Ubuntu download finished while the phone was locked or when the Ubuntu Installer app was not on the foreground, the installation button will change to **Resume install**. This will resume installation to the point where SuperUser permissions are requested.
## Additional notes
### Updating to a new Ubuntu image
The rule of thumb for dual boot is:
- Installation of a new Ubuntu version needs to be done from the Android side via the Dualboot app
- Download of a new Ubuntu version can happen on either the Ubuntu or Android side
This effectively means there are two possible ways to upgrade your Ubuntu image:
- **If you are running Android**, use the Dualboot app to check and install new versions of Ubuntu by selecting "Uninstall Ubuntu" from the menu options. Next you will be asked if you want to keep the user data from Ubuntu. If you do want to keep the data, contacts, installed applications, pictures, background settings and such will be kept across Ubuntu installations. Additionally, every time there is a new Ubuntu version available, you'll get an Android notification:
- For stable channels, the app polls for new versions every 2 days
- For proposed channels, the app polls for new versions every 10 hours
- **If you are running Ubuntu**, use the standard upgrade mechanism to download new images via System Settings, but do not choose to install the image after having downloaded it. Instead, once the dowload has finished, reboot to Android and the Dualboot app there will resume the installation. Once finished, you can then reboot to Ubuntu.
To update Ubuntu to a newer version, On the android Ubuntu dual boot application, Once Ubuntu has been uninstalled, follow the same installation step to download a newer version of Ubuntu.
### Dual boot installer command reference
For the majority of cases, running the installer script in auto mode with no arguments will suffice. For more advanced usage, additional commands can be used.
dualboot.sh
- Auto mode: it detects if the SuperUser app installation is required and instals or updates the Dualboot application on Android
dualboot.sh full
- Full mode: it installs the SuperUser and Dualboot apps on Android
dualboot.sh update
- Update mode: it installs or updates the Dualboot app on Android
dualboot.sh channel $CHANNEL
- Sideload mode: it downloads the latest from the specified Ubuntu $CHANNEL and sideloads the files to the phone. It then starts the Dualboot app on Android to resume the Ubuntu installation with the sideloaded files.
dualboot.sh push ubuntu.tar.xz device.tar.xz version.tar.xz
- Sideload push mode: it sideloads the downloaded files passed as a parameter and it starts the Dualboot app to resume installation with them on the Android side.
The script also takes a device ID in case there are more devices connected to the computer. The device ID is the first parameter passed to the script. If it is not provided first connected device is used. E.g.
dualboot.sh <device-id> channel devel-customized
### Using a custom image server
If you need to use a custom image server that provides ported images for those devices outside of the officially supported, you can use a custom image server with the Dualboot app. To do so, open a terminal, and with your device connected over USB, issue the following command (replacing $CUSTOM\_SERVER\_URL with the URL or your custom server):
adb shell "su sh 'cd /data/data/com.canonical.ubuntu.installer/files/ && echo $CUSTOM_SERVER_URL > custom_server && chmod 777 custom_server'"
The next time you start the Dualboot app on Android, it will use that server to fetch and install images instead of the official Ubuntu one.
## If something goes wrong
If something goes wrong after the dual boot installation and you cannot boot either into Ubuntu or Android, you can revert the Android installation to the status it was before dual boot by reflashing the original boot and recovery images. Only the recovery partition is actually modified by dual boot, but you can choose to reflash the boot partition just in case.
1. Download the Android firmware you are running on your device onto your PC.
2. Open a terminal with `Ctrl+Alt+T`
3. Extract the firmware tarball and cd to its directory.
4. Run the following command to reboot into the bootloader
adb reboot bootloader
5. Once in the bootloader, run this command to reflash the boot partition:
fastboot flash boot boot.img
6. Without exiting the bootloader, run this command to reflash the recovery partition:
fastboot flash recovery recovery.img
7. After flashing, reboot and your phone should start into Android:
fastboot reboot
## Contributing
The dual boot project, as with the rest of Ubuntu is open source and open for participation, you can help making it better too!
- [Report bugs >][4]
- [Contribute code >][5]
## FAQ
### How does dual boot work?
An Android-based phone has multiple partitions which serve different purposes. Those relevant for dual booting are **/boot**, **/recovery**, **/system** and **/data**.
- The **boot** partition is loaded by the bootloader during a normal boot. The boot image in that partition is a combination of the kernel and a ramdisk. In short, the bootloader unpacks the boot image, creates a ramdisk and copies the content of the boot image's ramdisk into it. Then the kernel is started by executing the **init process** from ramdisk.
- The **recovery partition** contains the recovery image, which is just a different kind of boot image. It also includes a kernel and a ramdisk, where the init binary is replaced by a recovery binary inside the ramdisk.
- The **system partition** holds all the read-only system files (except the ones in ramdisk), and it is mounted by the init process.
- The **data partition** is then a writable partition used by the system for user data.
Ubuntu uses partitions in a slightly different way:
- The **boot** and **recovery** partitions have the same functionality as in Android
- The **system image** holds the Android part of the system which is executed inside the LXC.
- The **data partition** contains the Ubuntu system under **/data/ubuntu/**
In order to enable the user to choose their own flavour of Android, the Android boot image cannot be modified, as the original kernel needs to be preserved. **Thus the recovery partition is used to boot into Ubuntu.**
### Which versions of Android does dual-boot work with?
- Stock Android or AOSP 4.4.2 or higher.
- CyanogenMod (based on Android 4.4.2 or higher).
### Which devices does dual-boot work for?
Dual boot has been tested to work with the following devices:
- Nexus 4
- Nexus 7
- Nexus 10
### Which Ubuntu releases does dual-boot support?
Dual boot supports the same channels that phablet-flash supports.
### How is the user data partition shared between Android and Ubuntu?
The user data partition hosts also the Ubuntu system image at /data/system.img which is around 2 GB.
The Ubuntu swap file is also present in the data partition at /data/SWAP.img (around (540 MB)
The Ubuntu user and system data are also present at:
- /data/user-data
- /data/system-data
The Android data partition usage is unchanged.
### Is booting into recovery no longer possible when dual-booting?
The recovery partition when dual booting is currently used by the Ubuntu boot image. This means that when booting into recovery mode, Ubuntu will boot.
Access of the recovery will be resolved in future releases. However when the Ubuntu image is uninstalled, the original (Android stock or CWM) recovery is restored by the Ubuntu Install android app.
### If dual boot replaces the recovery partition, can I do an Android upgrade with dual boot installed?
Yes. Use the "Prepare for Android update" option in the Dual boot app menu on Android. This will recover your original Android recovery partition, ready for the Android upgrade. This will obviously delete the Ubuntu installation in the recovery partition, but you can easily reinstall it after the Android upgrade from the Dual boot app.
In any case, you can always uninstall dual boot, which will restore your original recovery partition.
### Can I uninstall dual boot?
Yes, when Ubuntu is uninstalled from the Android side via the dual boot app, the original Android recovery partition is restored to the original state before dual boot was installed.
Uninstalling Ubuntu also deletes the Ubuntu system image and swap file. Optionally, also the Ubuntu user data can be deleted.
### The dual boot app installs a copy of the the SuperUser app. Can I use another SuperUser app instead?
Yes indeed! The supplied [SuperUser][6] app is only for those who don't have it installed yet.
However, one word of caution: tests were only performed only with the SuperUser app version from the [CyanogenMod][7] build and with the one installed by dualboot.sh script. But as long as you own SuperUser app behaves in similar way of those two tested, you should be fine.
### When installing Ubuntu, can I switch channels without deleting user data?
Yes you can, but this is something that hasn't been thoroughly tested. Therefore some applications might not function properly. The same applies for switching between different versions.
### Can I make boot to Ubuntu the default and move the Android boot to the recovery partition?
Right now swapping the default boot OS is not possible. However, this is something we might look to support if there is demand for it.
### Why do you use the recovery partition to boot Ubuntu, rather than a combined boot image for Android and Ubuntu?
One of the initial principles when designing dual boot was not to tie it to a particular Android flavour and version and leave the user the flexibility to use their own choice. Thus the Android boot image and the kernel it contains are left untouched.
The choice was then to reuse the recovery partition, and instead focus on restoring it back to its original state if it's necessary to go back to single boot with Android.
### I already have CWM recovery installed and know how to use it, can I use a zip file and flash manually instead?
Absolutely, we provide dualboot.sh to make it easy to install the apps and the custom recovery. If you prefer to install the recovery manually yourself, it's also possible. Check out the source code for the dualboot.sh script to see exactly what it's doing.
### Why does the Ubuntu Installer app need to be installed to the system partition via recovery?
The Ubuntu Installer app needs to be installed as an Android (preinstalled) system app. Unlike use-installed apps, which live in the data partition, system apps always live in system partition and are granted additional privileges on top of the standard permissions set available to 3rd party applications.
The extra permissions that the Ubuntu installer app needs are just two: **cache partition write access** to store the downloaded files for Ubuntu installation and **power management** capability to reboot the system.
--------------------------------------------------------------------------------
via: https://wiki.ubuntu.com/Touch/DualBootInstallation
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://wiki.ubuntu.com/Touch/Devices#Working_with_phablet-flash
[2]:https://wiki.ubuntu.com/Touch/DualBootInstallation#Installation
[3]:https://wiki.ubuntu.com/Touch/DualBootInstallation#DualBootInstallerReference
[4]:https://bugs.launchpad.net/humpolec/+filebug
[5]:https://code.launchpad.net/humpolec
[6]:https://wiki.ubuntu.com/SuperUser
[7]:https://wiki.ubuntu.com/CyanogenMod

View File

@ -0,0 +1,356 @@
Ubuntu Touch 系统和 Android 系统双系统安装指南
===================================
Ubuntu 双系统安装器是作为预览版本发布给开发者的,可以使得开发者同时在一台手机上安装 Ubuntu 系统和 Android 系统。该软件现阶段或最终的目标用户并非普通用户。开发者应该熟悉 Ubuntu 和 Android 系统的分区布局并且在出现问题的时候有能力手动刷回分区。
Ubuntu 双系统安装器是一些工程师在有限时间内做出的一个内部臭鼬项目(译注:管理层不知的研究项目)。由于项目进展良好,所以决定向开发者社区发布预览版以供大家测试、学习或者完善。
双系统启动不是常规 Ubuntu 发布版本中的一部分。
## 安装后可实现以下功能
- 一台可以在 Ubuntu 和 Android 系统之间完整切换的手机
- Android 系统上:一个用来安装 Ubuntu 系统和切换到 Ubuntu 系统的应用
- Android 系统上:一个超级用户管理器,用来为 Ubuntu 安装器授予权限
- Ubuntu 系统上:一个用来启动到 Android 系统的 Ubuntu 双系统启动应用
- 尚不支持 Ubuntu 系统下的更新但可以通过Android应用程序来进行系统更新
## 必要条件
安装双系统启动,你需要:
- **一台Nexus 4 手机** (其他 [支持的 Nexus 手机][1] 理论上也能安装,但是现在还没有经过测试。)
- 手机安装 **Android 4.4.2 或者更高的系统版本** ,基于原厂固件或者 CyanogenMod 和 AOSP 的固件。
- 手机上需要有 **2.7GB 剩余存储空间** 用来安装Ubuntu。
- 桌面电脑上需要运行 **ADB 工具**
- 手机应该 **解锁 bootloader 并打开 USB 调试选项**。按照安装步骤1到3来实现。如果你的手机已经解锁过 bootloader 并且打开了 USB 调试选项了,这一步可以[跳过>][2]。
### 步骤 1 - 桌面电脑设置
为了连接手机和刷机,在电脑桌面上依照以下几步操作。
**设置触摸开发预览工具 PPA**
PPA 是一个迷你库,其中包含安装过程中需要的一些额外软件。以下描述如何去启用和使用它。
PPA 的工具和依赖库支持 Ubuntu 发行版,包括 12.04, 12.10, 13.04, 13.10 和 14.04. 将以下的源地址列表加入 `/etc/apt/sources.list` 文件中来添加 Ubuntu 触摸 PPA。
在你的机器上按 `Ctrl+Alt+T` 开启终端窗口,运行以下命令。
sudo add-apt-repository ppa:phablet-team/tools
在 Ubuntu 12.04系统上,还需要运行以下命令:
sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
然后运行:
sudo apt-get update
sudo apt-get install ubuntu-device-flash
### 步骤 1.5 - 备份Android(可选)
- 确认开启开发者模式。触摸 `设置 -> 关于手机 -> 版本号` (七次)
- 确认开启 USB 调试模式。触摸 `设置 -> 开发者选项 -> USB 调试`
- 在你的电脑上执行
$ adb backup -apk -shared -all
这样就将你的操作系统、应用程序和所有的数据备份为 backup.ab 文件了。以后在重新刷回 android 系统的时候可以使用 $ adb restore backup.ab 命令恢复你所有的数据。
### 步骤 2 - 手机解锁
如果手机已经解锁那么跳过步骤3。以下几步将擦除手机上所有的个人数据。
1. 关机,同时按住手机的开机键+音量上+音量下开机。
2. 手机将开机到bootloader界面。
3. 使用 USB 数据线将手机和电脑连接。
4. 在电脑上按 `Ctrl+Alt+T` 打开一个终端。 键入 sudo fastboot oem unlock 并回车。
5. 在手机上,接受解锁条款。
6. 按开手机开机键开机。(屏幕上箭头标记为 Start)
**恢复手机出厂设置**
如果解锁 bootloader 后不断重启的话... 可以使用以下方法解决:
1. 在重启的过程中,同时按住 电源键+音量上+音量下 使得手机重返 fastboot 模式。
2. 在 fastboot 模式下,使用音量键选择到 Recovery 选项后,按下开机键选中。
3. 在 Recovery 模式下(Android 机器人 背景是个红色三角) 同时按住音量上键和开机键进入stock recovery 模式。再次强调,不要按住按钮不放,只是同时按他们。保证你按了正确的音量按钮。应该是右边的的按钮是音量上键。
4. 一旦进入 Recovery 模式,恢复出厂设置并清空数据,然后重启平板,现在应该可以看到欢迎屏幕了。
### 步骤 3 - 初始化手机指南
按照以下步骤初始化手机
1. 如果没有启动,启动手机进 Android 系统
2. 启用手机的 USB 调试模式
- 在冰激凌三明治 (版本 4.0) 上打开 USB 调试(`设置 > 系统 > 开发者选项 > USB 调试`)
- 在果冻豆 (版本 4.1 和 4.2) 上打开 USB 调试,需要进 `设置, 关于 [手机|平板]` 菜单且触摸版本号7次才能进入开发者选项。
- 在 4.2.2, (`设置 > 关于` > 触摸版本号7次激活开发者选项菜单)
- 在其他版本的 Android 系统中,你通过 `设置 > 开发者选项 > USB 调试`来启用 USB 调试模式。您可能还需要接受手机上的主机密钥。
- 在工作站中 -> `adb kill-server; adb start-server`
3. 将手机和电脑通过USB数据线连接起来。
- 根据 Android 版本的不同,会弹出一个主机密匙的框,需要确认才能和电脑通信。
- 注意,'adb devices' 不应该显示为手机 'offline' 。如果显示手机离线在超级用户模式下运行adb(`sudo adb kill-server; sudo adb start-server`),然后将手机再次连接。
- 在某些情况下手机继续显示为离线如果USB连接模式为 'MTP' (一些手机或版本的Android)的话就不会弹出主机密匙提示对话框。取消选中所有的USB连接模式选项(`设置 -> 存储 -> 菜单 -> USB连接 -> MTP, PTP`)也许能解决adb连接问题。
4. 保存现有手机镜像版本号Android 系统,恢复系统时使用。可以使用 `设置 > 关于手机 > 版本号码` 查看版本号。
最新版的 Nexus 10s 开启开发者模式后并没有完全启动。如果是这种情况的话,启动到 bootloader 后运行 "`fastboot -w`" 然后进入下一步。
## 双系统启动安装和更新说明
双系统新安装和升级在这部分过程实际上是相同的。
### 在 Android 系统中安装 Ubuntu 安装器
Ubuntu 注意:如果手机中有一个以前版本的 Ubuntu 双启动,更新前请首先使用 Android 应用程序卸载掉 Ubuntu 系统。推荐保存用户数据,只卸载掉基本的系统。
1. 在电脑上下载双系统安装脚本到你的家目录。http://humpolec.ubuntu.com/latest/dualboot.sh
2. 使用 `Ctrl+Alt+T` 组合键打开电脑终端。
3. 运行以下命令赋予安装脚本可执行权限。
chmod +x dualboot.sh
4. 保证你的手机
- 正常启动进入 Android 用户界面
- 启用 USB 调试选项
- 已经解锁了 bootloader
5. 使用 USB 数据线连接手机和电脑
6. 终端运行以下命令安装双系统启动:
./dualboot.sh
安装完成后,手机会重启数次。一旦完成,系统会启动到 Android 系统,你会发现双启动应用程序 (“Ubuntu Dual Boot”) 已经安装到手机的应用程序部分了。
或者,可以使用安装脚本的替代方法,[可以参考安装手册 >][3]。
现在按照以下说明在 Android 下安装 Ubuntu。
## Android 下安装 Ubuntu
注意Ubuntu 安装需要手机上具有2.7GB以上的剩余内存空间。
1. 也可以在手机和电脑USB连接状态下终端运行以下命令来释放空间。(接受手机的授权询问)
adb shell "su sh rm -rf /cache/*"
2. 在手机上,点击 apps 按钮打开 app 列表
3. 查看列表找到 **Ubuntu Dual Boot** 图标并启动它
4. 应用程序启动后按 **Choose channel to install** 并选择一个频道下载(推荐 **utopic** 频道)
5. 下载完成后需要授权 SU 权限给应用程序。提示授权的时候,选择 **Grant** 按钮
6. 按 **Reboot to Ubuntu** 按钮重启手机进入Ubuntu
7. 标准手机重启会启动到Android系统中
注意:
- Ubuntu 安装器支持所有手机平板刷机工具支持的频道
- 选择了一个 Ubuntu 频道后,**bootstrap** 复选框可以让你选择清空 Ubuntu 的用户数据,如果不选中的话,用户数据将一直保留。第一次安装的话,选不选是没什么区别的
- 选中一个 Ubuntu 频道后,取消 **latest version** 复选框后可以选择一个特定版本号的镜像,否则,默认安装最新的镜像。
- 如果在安装过程下载镜像过程中,手机锁屏或者 Ubuntu 安装器是后台运行的话,安装按钮会变成 **Resume install** (恢复安装)。点击这个按钮会恢复到超级权限提示前的状态。
## 其他需要注意的
### 更新到最新的 Ubuntu 镜像
根据双启动的经验:
- 安装新版本的 Ubuntu 需要使用 Android 双启动应用程序
- 下载新版本的 Ubuntu 可以在 Android 或者 Ubuntu 下进行
这实际上意味着可以有两种不同的方式更新 Ubuntu 镜像:
- **如果在android系统下**,使用双启动应用程序更新 Ubuntu ,需要选择菜单选项中的 "Uninstall Ubuntu" ,然后应用程序会询问你是否保留 Ubuntu 用户数据。如果你想保留数据、通讯录、应用程序、图片、背景设置等,这些数据将会完整保留。另外,每次新版本的 Ubuntu 发布后,将会收到 Android 通知:
- 对于稳定频道应用程序池每2天更新一次
- 对于推荐频道应用程序池每10小时更新一次
- **如果你使用的是 Ubuntu**, 使用系统设置中的标准更新机制下载新版镜像,但是不要选择安装,下载完毕后,重新启动到 Android 系统中,启动双启动应用程序,程序会恢复更新。完成后,你可以再次切换到 Ubuntu系统中。
在 android 版 Ubuntu 双启动应用程序中,卸载 Ubuntu 后,可以安装新安装的说明去下载新版本的 Ubuntu。
### 双系统安装器参考命令
大多数情况下,不带参数运行自动模式安装脚本就足够了。
dualboot.sh
- 自动模式:监测超级用户应用程序是否需要安装并更新双系统安装应用程序。
dualboot.sh full
- 完整模式:安装超级用户和双系统启动 Android 应用程序
dualboot.sh update
- 更新模式:安装或者更新 Android 下的双系统启动应用程序
dualboot.sh channel $CHANNEL
- 边载模式:通过指定的 Ubuntu 频道 ($CHANNEL) 下载最新的镜像到手机。命令启动 android 双系统应用程序并继续使用边载文件进行安装。
dualboot.sh push ubuntu.tar.xz device.tar.xz version.tar.xz
- 边载推送模式:将下载参数推送给双系统启动应用程序,作为参数启动双系统安装器进行安装。
多个手机同时连到电脑上的时候脚本还提供指定手机ID 的参数。手机ID为脚本的第一个参数。如果不指定手机ID的话默认为第一个连接的手机。
dualboot.sh <device-id> channel devel-customized
### 使用自定义镜像服务器
如果你的手机不在官方支持列表中,需要使用第三方移植镜像服务器,你可以将自定义镜像服务器地址作为参数来使用双启动应用程序。这么办的话,打开终端,连接手机到电脑,运行以下命令(替换 $CUSTOM\_SERVER\_URL 为自定义服务器地址)
adb shell "su sh 'cd /data/data/com.canonical.ubuntu.installer/files/ && echo $CUSTOM_SERVER_URL > custom_server && chmod 777 custom_server'"
下次启动双启动应用程序的时候,默认将使用自定义服务器地址而不是官方地址了。
## 异常处理
如果出现问题,安装双启动后无法进入 Android 和 Ubuntu 系统的话,你可以使用原始启动和恢复镜像恢复手机到最初状态。只有 recovery 分区被双启动修改了,当然你可以刷回原有的启动分区。
1. 下载手机的 Android 固件到你的PC上。
2. 使用快捷键 `Ctrl+Alt+T` 打开终端
3. 解压固件 tar 包并 cd 到其目录
4. 运行以下命令以重启手机到 bootloader
adb reboot bootloader
5. 进入 bootloader 后,运行以下命令刷回启动分区:
fastboot flash boot boot.img
6. 不要退出 bootloader ,运行以下命令刷回 recovery 分区:
fastboot flash recovery recovery.img
7. 刷机完毕后,重启你的手机应该就可以进入 Android 系统了:
fastboot reboot
## 致谢
双启动项目和其他 Ubuntu 项目一样都是开源的,你可以参与此项目,使得他更加完美!
- [Bug 报告 >][4]
- [贡献代码 >][5]
## FAQ
### 双启动如何工作?
基于 Android 的手机有一系列不同用途的分区。这些分区是 **/boot**, **/recovery**, **/system** 和 **/data** 。
- **boot** 分区是 bootloader 正常启动的时候载入的。这个分区的启动镜像是由一个内核和内存盘程序组成的。简而言之bootloader 解压启动镜像,创建一个内存盘后将镜像考入,最后使用 **初始化进程** 启动内核。
- **recovery partition** 分区包含有 recovery 镜像,它只是一个不同的启动镜像。它也含有一个内核和内存盘程序,但是初始化可执行程序被换成了内存盘中的 recovery 应用程序。
- **system partition** 分区含有系统所有的只读文件 (除了内存盘中的)供初始化进程载入。
- **data partition** 分区是供系统写入用户数据的可读写分区。
Ubuntu 以稍微不同的方式使用这些分区
- **boot****recovery** 分区的作用和 Android 中一样。
- **system image** 分区含有在 [LXC][8] 中执行的 Android 部分的程序。
- **data partition** 分区中的 **/data/ubuntu/** 含有Ubuntu系统
为了保证用户选择自己的 Android 风格Android 系统的启动镜像是不允许修改的,因为原始内核必须保存。**所以使用 recovery 分区去启动Ubuntu**
### 双启动可以运行在那个版本的 Android 系统下?
- Stock Android 或 AOSP 4.4.2 或更高版本。
- CyanogenMod (基于 Android 4.4.2 或更高版本).
### 双启动可以运行在那些手机上?
双启动通过测试可以运行在以下手机中:
- Nexus 4
- Nexus 7
- Nexus 10
### 双启动支持那些已发布版本的 Ubuntu
双启动支持的所有 phablet-flash 支持的系统。
### Android 和 Ubuntu 如何共享用户数据分区?
用户数据分区也有 Ubuntu 系统镜像 /data/system.img, 大约有2GB。
Ubuntu swap 文件在用户数据分区 /data/SWAP.img (大约540MB)。
Ubuntu 的用户和系统数据也可以在以下目录找到:
- /data/user-data
- /data/system-data
Android 数据分区的使用方式不变。
### 安装双启动后是否无法启动进入 recovery
双启动安装后recovery 分区被 Ubuntu 启动镜像占用。这意味着启动到 recovery 模式下Ubuntu 就启动了。
进入 recovery 的功能会在未来发布。但是当卸载掉 Ubuntu 镜像后Ubuntu 应用程序回恢复原始的 recovery(Android stock 或 CWM)。
### 如果用双启动替换掉 recovery 分区的话,是否还可以更新 Android 系统?
可以,使用双启动应用程序中的 "准备更新安卓" 选项。这会将原始 Android recovery 分区恢复,为 Android 系统更新做准备。这明显会删除 recovery 分区中安装的 Ubuntu 系统,但是使用双系统应用程序可以在 Android 系统更新后很容易重新安装。
任何情况下,你都可以卸载双启动并恢复原始的 recovery 分区。
### 我可以卸载双启动吗?
可以,使用 Android 版本双启动应用程序卸载 Ubuntu 后,原有的 recovery 分区数据会恢复到安装前的状态。
卸载 Ubuntu 的同时也会删除 Ubuntu 系统镜像和交换文件。当然Ubuntu 用户数据也会被删除。
### 双启动应用程序安装了一个超级用户应用,我可以使用一个第三方的超级用户应用代替它吗?
当然可以了!提供的 [超级用户][6] 应用只是为了那些没有安装的用户的。
然而,需要注意一点:项目测试中只会使用来自 [CyanogenMod][7] 版本或者 dualboot.sh 脚本安装的超级用户应用。但是只要你使用和测试中用的类似的应用的话,一般也不会有问题的。
### 安装 Ubuntu 中,我是否可以删除用户数据后切换频道?
可以,但是有些东西没有测试过,所以有些应用也许无法正常工作。这个问题也存在于切换版本的情况。
### 我能否设置默认启动 Ubuntu 而将 Android 启动移动到 recovery 分区?
目前为止交换默认启动操作系统是不可行的。但是如果有需求的话我们会想办法支持的。
### 为什么使用 recovery 分区启动 Ubuntu 系统而不是使用一个 Android 和 Ubuntu 结合的镜像来启动?
最开始设计双启动的时候原则就是不和某个特定版本和类型的 Android 系统捆绑,留给用户自己选择的权利。所以就没有改动 Android 启动镜像和内核。
最后选择利用 recovery 分区启动 Ubuntu转而专注在需要的时候在就恢复到其原始状态。
### 我已经安装了一个 CWM recovery 而且知道如何使用,我可否使用 zip 文件手动刷机?
绝对可以,我们提供的 dualboot.sh 是为了使得安装应用和 recovery 更容易。如果你想手动安装recovery 也是可以的。参看 dualboot.sh 脚本的源码来操作。
### 为什么 Ubuntu 安装器需要使用 recovery 安装到 system 分区里?
Ubuntu 安装器需要安装为 Android 系统应用。 和用户分区的应用不一样,系统应用始终活动在系统分区中,保证可以获取第三方软件可以获取的的最高的权限。
其实 Ubuntu 安装器需要获取的权限只有两个:**缓存分区写入权限** 用来下载 Ubuntu 安装文件 和 **电源管理** 用来重启系统。
--------------------------------------------------------------------------------
via: https://wiki.ubuntu.com/Touch/DualBootInstallation
译者:[shipsw](https://github.com/shipsw) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://wiki.ubuntu.com/Touch/Devices#Working_with_phablet-flash
[2]:https://wiki.ubuntu.com/Touch/DualBootInstallation#Installation
[3]:https://wiki.ubuntu.com/Touch/DualBootInstallation#DualBootInstallerReference
[4]:https://bugs.launchpad.net/humpolec/+filebug
[5]:https://code.launchpad.net/humpolec
[6]:https://wiki.ubuntu.com/SuperUser
[7]:https://wiki.ubuntu.com/CyanogenMod
[8]:http://www.ibm.com/developerworks/cn/linux/l-lxc-containers/