2014年5月

Webmin是一个开源的基于网页的Unix/Linux系统管理工具。通过使用Webmin,你可以在浏览器上设置和安装所有的系统服务,包括:DNS、DHCP、Apache、NFS和Samba等等。因此,有了这个,你就再也不需要去记住所有的修改配置的命令了。

使用官方软件源在Ubuntu 14.04 LTS上安装Webmin

添加webmin的官方仓库:

修改 /etc/apt/sources.list,

sudo vi /etc/apt/sources.list

添加如下内容:

deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

添加GPG密钥:

sudo wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

更新软件源:

sudo apt-get update

通过如下命令安装webmin:

sudo apt-get install webmin

如果你想从远程系统访问webmin的控制台,就在防火墙里开启webmin的默认端口“10000”

sudo ufw allow 10000

访问Webmin控制界面

打开浏览器并访问URL** https://ip-address:10000/**。应该会出现如下的场景。在此输入用户名和密码来登录webmin的控制台。

Login to Webmin

这是我的Webmin面板。

Webmin 1.690 on server.unixmen.local (Ubuntu Linux 14.04)

就是这样。现在,你就可以管理和配置你的Ubuntu服务器图形。享受吧!


via: http://www.unixmen.com/install-webmin-ubuntu-14-04/

译者:MikeCoder 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

你想做硬件DIY吗?它们哪个更适合你?

如果你很熟悉电子DIY,那么应该听过ArduinoRaspberry Pi(树莓派)的特点对比。你也许甚至会猜测到,像我之前认为的,它们两个是处理相似问题的相互竞争的硬件平台。

实际上,Arduino和树莓派非常不一样。对于初学者来说,树莓派是一台完整功能的计算机,而Arduino只是一个微控制器,它仅仅是组成计算机的一个模块。

这里有一些指引来帮助你区分Arduino和树莓派,然后确定这两个DIY设备中的哪个更适合你的需求。

概述

树莓派和Arduino最开始都被设计成教育工具,这也是它们现在这么流行的原因,它们两个都非常容易学习使用。

树莓派来自英国。开始的时候,发明者Eben Upton和他在剑桥大学计算机实验室的同事对学生数量的逐渐减少和差劲的技能感到非常懊恼,于是想办法解决这个问题。他们设计的树莓派是一台便宜的方便修改的计算机,目的是提高动手能力。Upton在2006年设计了树莓派的原型,在2012年4月的时候第一次可以在市场上买到。

另一个,Arduino诞生于意大利。它是根据发明者Massimo Banzi和合伙人想到这个点子的一个酒吧的名字命名的。Banzi是伊夫雷亚互动设计学院的一名教师,他想为他学设计的学生做一个简单的硬件原型制作工具。

作为教育工具,Arduino和树莓派都适合初学者。而在了解了它们的硬件和软件特点之后,很明显它们会应用到完全不同的项目中。

硬件和软件

这里大概列出了两者规格上的最大差异

Arduino Uno树莓派Model B
价格$30$35
体积7.6 x 1.9 x 6.4 cm8.6cm x 5.4cm x 1.7cm
内存0.002MB512MB
主频16 MHz700 MHz
集成网络接口没有10/100M以太网RJ45
多任务支持没有
输入电压7到12伏5伏
Flash存储32KBSD卡(2到16G)
USB一个,仅做为输入两个,可扩展外围设备
操作系统没有Linux发行版
集成开发环境ArduinoScratch, IDLE, Linux支持的任何环境

它们两个的价格和体积都差不多,我们已经知道树莓派和Arduino都很小巧很便宜,只是它们所包含的东西决定了它们的不同。树莓派在时钟速度上比Arduino快40倍。而更打击Arduino的是,树莓派拥有其128,000倍的内存。树莓派是一台独立的计算机,可以运行实际的Linux操作系统,支持多任务,支持两个USB端口,还可以无线连接到因特网。总之,它足够强劲,完全可以作为个人电脑(但是还不足以与Mac或PC比较)。

也许看起来树莓派比Arduino高级,但那仅仅是软件应用。Arduino的简单让它在单纯的硬件项目中表现更好。

我采访了Limor Fried,她是Adafruit的创办者,Adafruit是一个DIY电子商店,提供Arduino和树莓派的部件和工具,询问了她关于这两者之间不同的专业意见。作为一个从MIT毕业的工程师,立志要教所有级别的电子技术的高手,Fried比其他人更懂这两个平台。

“Arduino有处理'实时'和'模拟电路'的能力,这是树莓派没有的,这种灵活性让它可以匹配各种传感器或芯片”Fried这样说,“树莓派就没有这样灵活,比如,要读取模拟传感器就需要额外的硬件协助。有成千上万的教程教你把Arduino挂到几乎所有的设备上。另一方面,树莓派可以受益于多年的Linux软件积累,所以它们两个都是很棒的选择!”

Arduino的集成开发环境明显比Linux容易太多了。比如,如果你在树莓派上想写个程序让LED闪烁,你需要安装一个操作系统以及各种代码库,而这还仅仅只是开始。而在Arduino上,你可以用仅仅8行代码来让LED闪烁。而且,Arduino并没有设计成运行操作系统或是大量软件,你可以仅仅把它插到板子上,它就开始工作了。

树莓派可以支持多个任务进程,它可以在后台运行多个程序。比如,我有一台树莓派同时用作打印服务器和VPN服务器

另一方面,你可以让Arduino插在板子上去长时间执行单一的任务,而当你想停止的时候把它拔出来就好了。这也是为什么Fried建议初学者在玩树莓派之前先玩Arduino:

“Arduino更简单,更难'变砖'或'损坏',而且有更多的适合初学者的学习资源。”Fried这样说,“而要玩树莓派,你不但要学习编程比如Python,还要学习Linux。Arduino可以在任意电脑上工作,而且可以用电池供电,你可以任意时候随时开关都很安全。而树莓派在没有合适关机的情况下断电可能会损坏。”

树莓派在软件应用上大放光芒,而Arduino让硬件项目变得更简单。所以问题变成你先确定你想做什么。

一起使用

选择树莓派或是Arduino的终极答案是:“为什么要选择?”如果你想学习一些电子知识,它们中任意一个可以教你不同的内容。

按照Fried的意见,树莓派和Arduino是互补的。她提供了一种场景,Arduino是传感器工场,而树莓派负责分发指令:

“它们在一起工作会更好”Fried说,“Arduino非常适合驱动马达,读取传感器数据,控制LED,等等。而同时你可以用一个连接到因特网的树莓派来驱动Arduino,一台迷你电脑可以轻松地用来播放视频,音乐或是发送邮件。”

作者Simon Monk,他曾经写过大量关于树莓派和Arduino的书,在博客里写了篇教程用一点点代码就可以连接树莓派和Arduino。它用到了Python的库,PySerial,这也是Arduino基地推荐的连接电脑和Arduino的最容易的方式。

只要你做到了这个,那几乎就有无限可能了。你可以自制啤酒,用Arduino控制传感器,而用树莓派来处理主要流程。你还可以建立一个制造机器人的平台,比单独的Arduino或是树莓派机器人强大多了。

社区

不管树莓派还是Arduino,都有很多大型的、活跃的社区。这些论坛不仅仅是在学校和大学里使用,世界范围的极客们也都在里面。

下面这些地方你可以去看看,里面会有树莓派的支持和一些项目创意:

下面是关于Arduino的:

图片来源:Simon Monk


via: http://readwrite.com/2014/05/07/arduino-vs-raspberry-pi-projects-diy-platform#feed=/hack&awesm=~oEFMq68riarQK2

译者:zpl1025 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

这篇简短的文章将教会你如何在Ubuntu 14.04或者其先前版本中使用美化工具来实现通过颜色分辨文件夹。这个工具就是Folder Color,它允许用户改变 Nautilus 文件浏览器中文件夹的颜色,这样就可以让用户很容易地识别并区分它们。

这个工具的开发者设计初衷是与 Nautilus 配合使用,其实它也可以与Ubuntu上其它的图标主题配合使用。这是一个很好的工具,轻量级,不会影响你的系统的性能。

这个软件安装起来方便,让下面这个简短的教程告诉你如何做吧。

假如你想将重要的文件夹设置成红色的,或者将文档文件夹设置为黄色,你可以用Folder Color轻松地更改它们的颜色。

接下来教你来安装这个工具。

在Ubuntu 中Ctrl - Alt - T打开终端。添加下面的PPA源。

sudo add-apt-repository ppa:costales/folder-color

然后运行下面的命令更新你的系统并安装Folder Color。

sudo apt-get update && sudo apt-get install folder-color

这样安装就可以了。现在你要做的就是注销登录然后再次登入系统或者重新启动Nautilus 。打开Nautilus,在你想改变颜色的文件夹上右键单击选择你想要的颜色。这些是预先定义的颜色,或许无法满足你的需要,但是对于大多数用户来说这足够了。

如果你想卸载它,运行下面的命令移除PPA源。

sudo add-apt-repository -r ppa:costales/folder-color

最后,运行下面的命令移除Folder Color 。

sudo apt-get update && sudo apt-get remove folder-color

使用愉快!


via: http://www.liberiangeek.net/2014/04/daily-ubuntu-tips-identify-folders-by-colors-in-ubuntu/

译者:Linchenguang 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Apache Tomcat 7.0.54,一个在JCP规范之下开发的Java Servlet和JSP技术的开源软件实现,现已可供下载。

自上一个Apache Tomcat版本的发布已经有段时日了, 但这仅仅意味着开发者们有更多的时间来对软件作出修补和更改。这是一个源码软件包,所以普通用户并不一定真的需要它。

通过更新日志得知,定制的UTF-8解码器已经被修复,在AprLifecycleListener的FIPS模式中加入了更多的管理选项,如果一个应用从已销毁的会话中调用session.invalidate()而导致的无限循环已经可被避免,在添加一个Mbean通知监听器时,移除一个Mbean监听器现在将还原所有执行的操作,以及关于完成部署和其执行时间的信息已被添加到日志文件之中。

另外,一些理论上可能会发生内存泄漏的位置上已经做了修补,当使用JAASMemoryLoginModule时的用户认证已被修复,在反斜杠处理时的回溯已得到纠正。

在源代码归档的官方更新日志中可以找到一份完整的变更,修复以及新特性的列表。

下载 Apache Tomcat 7.0.54 (violetagg):


via: http://news.softpedia.com/news/Apache-Tomcat-7-0-54-Now-Available-for-Download-443862.shtml

译者:alim0x 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

许多Ubuntu用户过去一直在使用第三方仓库体验Cinnamon而不用安装Linux Mint,然而似乎在不久的将来,不会再有Cinnamon的第三方仓库了

如果你在用Ubuntu系统,当前你能够通过添加一个PPA源并安装相应的软件包就可以体验到Cinnamon桌面环境。这让你可以获得像Linux Mint一样的体验,而不用真的去安装它。

不幸的是,该功能即将消失,但不是因为主要维护者不想再继续提供该软件。很显然,Ubuntu仓库将不再保留旧版本的GNOME软件包,而Cinnamon却需要这些包,这让Cinnamon要想通过PPA方式安装,即使可能,也困难重重。

“稳定的PPA源确实不再维护了,而每晚更新的PPA源也只为开发而保留,但不应该用于任何种类的生产机器上(它可能会在任何时候中断)。”

“坦率地说,除了切换到其它支持Cinnamon的版本外,目前我没有其它替代品可以提供给Ubuntu用户。外面有很多这样的版本,我只是希望有人(最终)站到Ubuntu这边来为它的用户提供合适的包。”Gwendal Le Bihan——Cinnamon包的维护者

这意味着,从今往后,只有不稳定的PPA源可用了,但也只是用于测试,用户不应该将该源部署到正式机器上。而不久之后,你要想见见Cinnamon的样子,就只好去安装Linux Mint(或者Arch也行),或者你自己动手编译吧。

如果你仍然想要安装Cinnamon,Ubuntu 14.04 LTS(Trusty Tahr)可以使用不稳定的PPA源。你所要做是在终端下输入一些命令(你需要root权限来做此事):

sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-nightly
sudo apt-get update
sudo apt-get install cinnamon

安装完成后,你所要做的仅仅是注销系统并从欢迎屏幕选择Cinnamon桌面。

Cinnamon桌面环境是作为GNOME shell的分支开发的,目的在于提供一个简洁而保守的替代品用于替代当前提供的一切。许多用户不满意GNOME、Unity以及KDE的取向而正在寻找那些没有偏移常规太多的桌面。

有可能有别人会构建另外一个提供了所有所需软件包的PPA源,让Cinnamon能在即将发布的Ubuntu 14.10中正常工作,但可能性似乎不大。


via: http://news.softpedia.com/news/Ubuntu-Users-Will-No-Longer-Have-a-Cinnamon-PPA-443933.shtml

译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

(译注:本文译自Ubuntu官方维基

Ubuntu 双系统安装器是作为技术预览版本发布给开发者的,可以使得开发者同时在一台手机上安装 Ubuntu 系统和 Android 系统。该软件现阶段或最终的目标用户并非普通用户。开发者应该熟悉 Ubuntu 和 Android 系统的分区布局并且在出现问题的时候有能力手动刷回分区。

Ubuntu 双系统安装器是一些工程师花了一点时间内做出的一个内部臭鼬项目(译注:管理层不知的研究项目)。由于项目进展良好,所以决定向开发者社区发布预览版以供大家测试、学习或者完善。

双系统启动不是常规 Ubuntu 发布版本中的一部分。

安装后可实现以下功能

  • 一台可以在全功能的 Android 和 Ubuntu 系统之间切换的手机
  • Android 系统上:一个 Ubuntu Installer 应用,用来安装 Ubuntu 系统和切换到 Ubuntu 系统
  • Android 系统上:一个 SuperUser 超级用户管理器,用来为 Ubuntu 安装器授予权限
  • Ubuntu 系统上:一个 Ubuntu Dual Boot 应用,用来启动到 Android 系统
  • 尚不支持在 Ubuntu 系统下的更新,但可以通过 Android 下的应用程序来进行系统更新

必要条件

安装双系统启动,你需要:

  • 一台Nexus 4 手机 (其他 支持的 Nexus 手机 理论上也能安装,但是现在还没有经过测试。)
  • 手机安装 Android 4.4.2 或者更高的系统版本 ,基于原厂固件或者 CyanogenMod 和 AOSP 的固件。
  • 手机上需要有 2.7GB 剩余存储空间 用来安装Ubuntu。
  • 桌面电脑上需要运行 ADB 工具
  • 手机应该 解锁 bootloader 并打开 USB 调试选项。按照安装步骤1到3来实现。如果你的手机已经解锁过 bootloader 并且打开了 USB 调试选项了,这一步可以跳过>

步骤 1 - 桌面电脑设置

为了连接手机并刷机,在电脑桌面上依照以下几步操作。

设置Touch开发者预览工具(Touch Developer Preview Tools)的 PPA

这些 PPA 是一个迷你库,其中包含安装过程中需要的一些额外软件。以下描述如何去启用和使用它。

这些 PPA 的包含工具和依赖库支持各个 Ubuntu 发行版,包括 12.04, 12.10, 13.04, 13.10 和 14.04等。 将以下的源地址列表加入 /etc/apt/sources.list 文件中来添加 Ubuntu Touch 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 调试
  • 在你的电脑上执行(译注:自然这是在Linux下,如Ubuntu里面执行的)
$ adb backup -apk -shared -all

这样就将你的操作系统、应用程序和所有的数据备份为 backup.ab 文件了。以后在重新刷回 android 系统(或root、解锁等)的时候可以使用 $ 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 双启动,更新前请首先使用 Android 应用程序卸载掉 Ubuntu 系统。推荐保存用户数据,只卸载掉基本的系统。

  1. 在电脑上下载双系统安装脚本到你的家目录。http://humpolec.ubuntu.com/latest/dualboot.sh
  2. 使用 Ctrl+Alt+T 组合键打开电脑终端。
  3. 运行以下命令赋予安装脚本可执行权限。
chmod +x dualboot.sh
  1. 保证你的手机
* 正常启动进入 Android 用户界面
* 启用 USB 调试选项
* 已经解锁了 bootloader
  1. 使用 USB 数据线连接手机和电脑
  2. 在终端里运行以下命令安装双系统启动:
./dualboot.sh

安装完成后,手机会重启数次。完成后,系统会启动到 Android 系统,你可以在手机的应用程序里面找到双启动应用程序 (“Ubuntu Dual Boot”) 。

或者,可以使用安装脚本的另一个替代方法,可以参考安装手册 >

现在按照以下说明在 Android 下安装 Ubuntu。

Android 下安装 Ubuntu

注意:Ubuntu 安装需要手机上具有2.7GB以上的剩余内存空间。

  1. 如果需要,也可以在手机和电脑USB连接状态下,终端运行以下命令来释放空间。(接受手机上的授权询问)
adb shell "su sh rm -rf /cache/*"
  1. 在手机上,点击 apps 按钮打开 app 列表
  2. 查看列表找到 Ubuntu Dual Boot 图标并启动它
  3. 应用程序启动后按 Choose channel to install 并选择一个频道下载(推荐 utopic 频道),请确保您勾选了“bootstrap”选项
  4. 下载完成后需要授权 SU 权限给应用程序。提示授权的时候,选择 Grant 按钮
  5. Reboot to Ubuntu 按钮重启手机进入Ubuntu
  6. 标准手机重启过程后会启动到Android系统中

注意:

  • Ubuntu 安装器支持所有手机平板刷机工具(phablet-flash)支持的频道
  • 选择了一个 Ubuntu 频道后,bootstrap 复选框可以让你选择清空 Ubuntu 的用户数据,如果不选中的话,用户数据将一直保留。第一次安装的话,选不选是没什么区别的
  • 选中一个 Ubuntu 频道后,取消 latest version 复选框后可以选择一个特定版本号的镜像,否则,默认安装最新的镜像。
  • 如果在安装过程下载镜像过程中,手机锁屏或者 Ubuntu 安装器在后台运行的话,安装按钮会变成 Resume install (恢复安装)。点击这个按钮会恢复到超级权限提示前的状态。

其他需要注意的

更新到最新的 Ubuntu 镜像

根据双启动的经验:

  • 安装新版本的 Ubuntu 需要使用 Android 上的双启动应用程序
  • 下载新版本的 Ubuntu 可以在 Android 或者 Ubuntu 下进行

这实际上意味着可以有两种不同的方式更新 Ubuntu 镜像(译注:此处与前文不一致,究竟是否可在Ubuntu下更新,译者没有做过实验,可能已经支持了。):

  • 如果在android系统下,使用双启动应用程序更新 Ubuntu ,需要选择菜单选项中的 "Uninstall Ubuntu" ,然后应用程序会询问你是否保留 Ubuntu 用户数据。如果你想保留数据、通讯录、应用程序、图片、背景设置等,这些数据将会完整保留。另外,每次新版本的 Ubuntu 发布后,将会收到 Android 通知:

    • 对于稳定频道,应用每2天推送一次更新通知
    • 对于推荐频道,应用每10小时推送一次更新通知
  • 如果你使用的是 Ubuntu, 使用系统设置中的标准更新机制下载新版镜像,但是不要选择安装,下载完毕后,重新启动到 Android 系统中,启动双启动应用程序,程序会恢复更新。完成后,你可以再次切换到 Ubuntu系统中。

要升级 Ubuntu 到最新版本,在 android 下的 Ubuntu 双启动应用程序中,卸载 Ubuntu 后,可以按照同样的安装步骤去下载新版本的 Ubuntu。

双系统安装器参考命令

大多数情况下,不带参数运行自动模式安装脚本就足够了。

dualboot.sh

  • 自动模式:监测超级用户应用程序是否需要安装,并更新双系统安装应用程序。

dualboot.sh full

  • 完整模式:安装超级用户和双系统启动 Android 应用程序

dualboot.sh update

  • 更新模式:安装或者更新 Android 下的双系统启动应用程序

dualboot.sh channel $CHANNEL

  • 边载(Sideload)模式:通过指定的 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
  1. 进入 bootloader 后,运行以下命令刷回启动分区:
fastboot flash boot boot.img
  1. 不要退出 bootloader ,运行以下命令刷回 recovery 分区:
fastboot flash recovery recovery.img
  1. 刷机完毕后,重启你的手机应该就可以进入 Android 系统了:
fastboot reboot

致谢

双启动项目和其他 Ubuntu 项目一样都是开源的,你可以参与此项目,使得他更加完美!

FAQ

双启动如何工作?

基于 Android 的手机有一系列不同用途的分区。这些分区包括 /boot, /recovery, /system/data 等。

  • boot 分区是 bootloader 正常启动的时候载入的。这个分区的启动镜像是由一个内核和ramdisk程序组成的。简而言之,bootloader 解压启动镜像,创建一个内存盘后将镜像考入,最后使用 初始化进程 启动内核。
  • recovery 分区包含有恢复镜像,它只是一个不同的启动镜像。它也含有一个内核和内存盘程序,但是初始化可执行程序被换成了内存盘中的二进制的 recovery 程序。
  • system 分区含有所有的只读系统文件 (除了内存盘中的)供初始化进程载入。
  • data 分区是供系统写入用户数据的可读写分区。

Ubuntu 以稍微不同的方式使用这些分区

  • bootrecovery 分区的作用和 Android 中一样。
  • system 镜像 含有在 LXC 中执行的 Android 部分的程序。
  • data 分区下的 /data/ubuntu/ 目录含有Ubuntu系统

为了保证用户可以返回 Android 原来的系统,Android 系统的启动镜像是不允许修改的,因为原始内核必须保存。所以使用 recovery 分区去启动Ubuntu

双启动可以运行在那个版本的 Android 系统下?

  • 普通 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 Install 应用会恢复原始的 recovery 分区(普通的 Android 或 CWM)。

如果用双启动替换掉 recovery 分区的话,是否还可以更新 Android 系统?

可以,使用双启动应用程序中的 "准备更新安卓" 选项。这会将原始 Android recovery 分区恢复,为 Android 系统更新做准备。这显然会删除 recovery 分区中安装的 Ubuntu 系统,但是使用双系统应用程序可以在 Android 系统更新后很容易重新安装。

任何情况下,你都可以卸载双启动并恢复原始的 recovery 分区。

我可以卸载双启动吗?

可以,使用 Android 版本双启动应用程序卸载 Ubuntu 后,原有的 recovery 分区数据会恢复到安装前的状态。

卸载 Ubuntu 的同时也会删除 Ubuntu 系统镜像和交换文件。如果需要,Ubuntu 用户数据也可以被删除。

双启动应用程序安装了一个超级用户应用,我可以使用一个第三方的超级用户应用代替它吗?

当然可以了!提供的 超级用户 应用只是为了那些没有安装它的用户的。

然而,需要注意一点:项目测试中只测试使用了来自 CyanogenMod 版本或者 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 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出