红联Linux门户
Linux帮助

在Android系统上安装Debian Linux与R

发布时间:2015-07-15 10:17:40来源:linuxtoy.org作者:黑日白月

其实在 Android 平板上通过第三方软件,已经可以提供很多类似一般桌面 Linux 系统的工具了。常用的 Firefox、VLC、 LibreOffice 以及 终端模拟器 都有 Android 版本,结合 Busybox 也能拥有大部分 coreutils 工具,甚至还有诸如 Terminal IDE 这种一站式的开发工具方案 ( 不过不支持 Android 5.0+)。 若是想要接近桌面级别的体验的话,比如像在下希望使用的 R 语言环境,还是安装一个完整的 Linux 环境比较好。

在 Android 平台上,若是 Unlock Bootloader 且获取了 root 权限,那么有一大票的方法可以将亦或完整亦或深度定制各种的 Linux 环境安装上去,网上教程也有不少,不再赘述。


本文描述的方法则是:

无需 root, 无需修改系统分区或者 Bootloader;
安装的是正常的 Debian Linux ARM 版本,可从官方仓库获得更新,兼容第三方 backport 仓库;
允许多个 Linux 发行版共存,非常方便的删除或重建,无需担心在系统或者 SD 卡上有异样残留。


首先请出主角 GNURoot 及 GNURoot Wheezy。 前者在应用程序级别提供一个虚拟根文件系统,允许在其上运行为其微调的桌面 Linux 发行版 ; 后者则显而易见的是为其打造的 Debian Wheezy 版本 。

GNURoot 本身支持多个不同的 Linux 发行版,在下常用的 Fedora 亦在其中,不过由于打包的古老亦不再维护的 Fedora 17, 实在是不推荐使用。至于那个 Debian WheezyX 版本,稍候说明。

GNURoot 的使用方法相当直观。第一步选择要创建的根文件系统,若是没有安装上面提到的 Wheezy 的话,在选择后跳转到 Play Store 提示安装。稍事片刻创建完成后,就可以在第二步选择启动了,记得勾上 "Launch As Fake Root" 的选项。第三个选项则是删除根文件系统,点击后选中的根文件系统就会干净的删除,估计您不会想现在就点击它吧…


不过在点击启动之前,最好确认下您已经准备好了合适的输入设备,因为即将迎接您的仅仅是一个终端模拟器,而安装 R 的操作需要有不少终端的操作。若是有蓝牙键盘最好,没有的话推荐使用这款名为 Hacker's Keyboard 的虚拟键盘,可以提供很多终端下常用的按键 。

Debian Wheezy 这个根文件系统生成时间稍早,所以当然一上来是通过 apt-get 升级到最新版本了。除此之外,诸如 less、`vim` 之类的工具也还是装上才感觉正确了。


有几点注意的:

默认登录即是 root 账户;
主机的内置存储和 SD 记忆卡等设备被挂载到 /storage 下;
由于 Android 系统权限限定,仅能写入内置存储,不能写入外置 SD 卡;
包括 GNURoot 及 GNURoot Wheezy 在内的程序都无法移动到 SD 卡,因为 SD 卡上没有可执行权限的概念。


由于 Debian 针对 Stable 的管理策略,要想用上最新的 R 必须使用 backport 的仓库。根据 Debian Package for R Software 的描述,需要将如下仓库信息添加到 /etc/apt/sources.list 文件末尾:

deb http://<favorite-cran-mirror>/bin/linux/debian wheezy-cran3/


对于在下的网络来说,既是以下地址:

deb http://mirrors.ustc.edu.cn/CRAN/bin/linux/debian wheezy-cran3/

通过 echo 加重定向的方式可以非常方便的将其添加到文件末尾。

然后添加加密公钥到:

apt-key adv --keyserver keys.gnupg.net --recv-key 381BA480

再下来就是安装了:

apt-get update apt-get install r-base r-base-dev


这个过程比较漫长,一方面是源自访问 Debian FTP 的速度,另外则是安装及解包时间了。在耐心等待或者一觉之后,就可以开心的在平板上使用 R 语言啦!

对于已经习惯使用图形化 IDE Rstudio 的在下来说 ,R 终端还是需要熟悉下的:

运行脚本需要使用 Rscript, 而非 R CMD BATCH。

使用 help.start() 可以启动 HTML 的帮助手册页面,可以在 Android 系统环境下的浏览器中查看。

类似的,图形绘制及表格之类的,也可以通过嵌套在 Shiny 的方式输出到 Web 页面,之后再 Android 系统浏览器中查看。


最后说说同一个作者出品的 WheezyX 及 GNURoot Debian。 前者是在启动时初始化一个 vnc 服务,使得可以使用本地或远程的 VNC 客户端看到 X 图形化界面。在下尝试了在其基础上安装 LXDE 桌面环境,在极度漫长的等待失败,无法启动 LXDE。 后者是该名作者的新作品,按照其说明是新的结合,不过根据评论来看似乎还有不少问题需要处理。

经过这么一番折腾,感觉 Android 平板还是有不少可以把玩和折腾的地方,特别是对 Linux 用户来说。若是您有更多折腾的经历或心得,不妨来稿或者在评论中分享。


硬盘安装Debian 5教程:http://www.linuxdiyf.com/linux/7839.html

安装Debian 6.0之后首先做的几件事:http://www.linuxdiyf.com/linux/7649.html

Win7上从硬盘安装Debian:http://www.linuxdiyf.com/linux/7032.html

U盘安装Debian 6成功:http://www.linuxdiyf.com/linux/6525.html