日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

在 Android 系統(tǒng)上安裝 Debian Linux 與 R (更新 RStudio Server 安裝)

 quasiceo 2015-09-25

在 Android 系統(tǒng)上安裝 Debian Linux 與 R (更新 RStudio Server 安裝)

其實在 Android 平板上通過第三方軟件,已經(jīng)可以提供很多類似一般桌面 Linux 系統(tǒng)的工具了。常用的 Firefox、VLC、 LibreOffice 以及終端模擬器都有 Android 版本,結合 Busybox 也能擁有大部分 coreutils 工具,甚至還有諸如 Terminal IDE這種一站式的開發(fā)工具方案(不過不支持 Android 5.0+)。若是想要接近桌面級別的體驗的話,比如像在下希望使用的 R 語言環(huán)境,還是安裝一個完整的 Linux 環(huán)境比較好。

在 Android 手機或平板上,若是 Unlock Bootloader 且獲取了 root 權限,那么多種的方法可以將亦或完整亦或深度定制各種的 Linux 環(huán)境安裝上去,網(wǎng)上教程也有不少,不再贅述。本文描述的方法則具有如下特點:

  1. 無需 root,無需修改系統(tǒng)分區(qū)或者 Bootloader;
  2. 安裝的是正常的 Debian Linux ARM 版本,可從官方倉庫獲得更新,兼容第三方 backport 倉庫;
  3. 允許多個 Linux 發(fā)行版共存,非常方便的刪除或重建,無需擔心在系統(tǒng)或者 SD 卡上有異樣殘留;
  4. 像普通 Android 應用一樣運行 Linux 系統(tǒng),可與其他 Android 應用之間自由切換;
  5. Linux 系統(tǒng)服從 Android 系統(tǒng)的電源管理策略(讀作:省電)。

首先請出主角 GNURootGNURoot Wheezy。前者在應用程序級別提供一個虛擬根文件系統(tǒng),允許在其上運行為其微調的桌面 Linux 發(fā)行版;后者則顯而易見的是為其打造的 Debian Wheezy 版本。

GNURoot 本身支持多個不同的 Linux 發(fā)行版,在下常用的 Fedora 亦在其中。不過由于打包的是古老亦不再維護的 Fedora 17,實在是不推薦使用。至于那個 Debian WheezyX 版本,稍候說明。

GNURoot 的使用方法相當直觀。第一步選擇要創(chuàng)建的根文件系統(tǒng),若是沒有安裝上面提到的 Wheezy 的話,在選擇后跳轉到 Play Store 提示安裝。稍事片刻創(chuàng)建完成后,就可以在第二步選擇啟動了,記得勾上 "Launch As Fake Root" 的選項。第三個選項則是刪除根文件系統(tǒng),點擊后選中的根文件系統(tǒng)就會干凈的刪除,估計您不會想現(xiàn)在就點擊它吧…

不過在點擊啟動之前,最好確認下您已經(jīng)準備好了合適的輸入設備,因為即將迎接您的僅僅是一個終端模擬器,而安裝 R 的操作需要有不少終端的操作。若是有藍牙鍵盤最好,沒有的話推薦使用這款名為 的虛擬鍵盤,可以提供很多終端下常用的按鍵。

Debian Wheezy 這個根文件系統(tǒng)生成時間稍早,所以當然一上來是通過 apt-get 升級到最新版本了。除此之外,諸如 less、vim 之類的工具也還是裝上才感覺完整了。有幾點需要注意的:

  1. 默認登錄即是 root 賬戶;
  2. 主機的內置存儲和 SD 記憶卡等設備被掛載到 /storage 下;
  3. 由于 Android 系統(tǒng)權限限定,僅能寫入內置存儲,不能寫入外置 SD 卡;
  4. 包括 GNURoot 及 GNURoot Wheezy 在內的程序都無法移動到 SD 卡,因為 SD 卡上沒有可執(zhí)行權限的概念。

由于 Debian 針對 Stable 的管理策略,要想用上最新的 R 必須使用 backport 的倉庫。根據(jù)Debian Package for R Software的描述,需要將如下倉庫信息添加到 /etc/apt/sources.list 文件末尾:

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

對于在下的網(wǎng)絡來說,既是以下地址:

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

這個過程比較漫長(約200M),一方面是 Debian FTP 的訪問速度所限,另一方面則是安裝及解包時間了。在耐心等待或者睡一覺之后,就可以開心的在平板上使用 R 語言啦!

對于已經(jīng)習慣使用圖形化 IDE Rstudio 的在下來說,R 終端還是需要熟悉下的:

  1. 運行腳本需要使用 Rscript,而非 R CMD BATCH
  2. 使用 help.start() 可以啟動 HTML 的幫助手冊頁面,可以在 Android 系統(tǒng)環(huán)境下的瀏覽器中查看。
  3. 類似的,圖形繪制及表格之類的,也可以通過嵌套在 Shiny 的方式輸出到 Web 頁面,之后在 Android 系統(tǒng)瀏覽器中查看。

最后說說同一個作者出品的 WheezyXGNURoot Debian。 前者是在啟動時初始化一個 vnc 服務,使得可以使用本地或遠程的 VNC 客戶端看到 X 圖形化界面。在下嘗試了在其基礎上安裝 LXDE 桌面環(huán)境,在極度漫長的安裝過程(包含依賴關系近 700M)后失敗,無法啟動 LXDE。后者則是該名作者的新作品,按照其說明是新的結合及未來的趨勢,不過根據(jù)評論來看似乎還有不少問題需要處理。

經(jīng)過這么一番折騰,感覺 Android 平板還是有不少可以把玩和折騰的地方,特別是對 Linux 用戶來說。若是您有更多折騰的經(jīng)歷或心得,不妨來稿或者在評論中分享。

7 月 22 日更新

在本文發(fā)布第三天,GNURoot Debian 發(fā)布了新版本 0.2,這兩天再次體(zhe)驗(teng)了下:

  • 與 GNURoot 完全不同,無法延用之前創(chuàng)建的根文件系統(tǒng),且僅支持 Debian
  • 升級到 Debian Jessie 8.1 Stable 版本,且架構支持硬浮點 armhf
  • 掛載以及和系統(tǒng)交互的方式變化不少,$HOME 分區(qū)可以直接在 Android 系統(tǒng)下訪問,還有一些奇怪的 mount 輸出沒看懂
  • 附帶的 Jessie 特別精簡,連 vi 都沒有,創(chuàng)建根分區(qū)之后要安裝的常用工具不少…
  • CRAN Backport 里的 R 貌似只有針對 armel 的,而 Jessie Backport 里的版本太老,于是想了想,干脆自己動手編譯了 R 3.2.1 版本,總共用時兩個半小時,還好
  • 至少在我使用的 Z4 Tablet 上,安裝部分應用(比如 git, openssh-client)會提示 Cannot open audit interface,谷歌說可能跟內核或者掛載有關,已經(jīng)提交 Issue Report 等反饋…
  • 理論上講 RStudio Server 也可以編譯,但是至少需要解決上述的問題才能安裝必要的依賴關系。

8 月 4 日更新

上個周末 GNURoot Debian 發(fā)布了 0.26 版本,解決了之前反饋的問題,意味著可以編譯 RStudio Server 了!

  • 首先前往 RStudio 官網(wǎng)下載源代碼包。
  • 解壓到某處之后,仔細閱讀其中的 INSTALL 說明。
  • RStudio 需要 R 的共享庫,如果之前手動編譯 R 的過程中沒加上 --enable-R-shlib 選項的話(竟然不是默認啟用),重編譯先吧…
  • 根據(jù)說明,可以借助 dependencies/linux/install-dependency-debian 文件的內容處理編譯 RStudio 的依賴關系。由于 GNURoot Debian 默認沒有配置 sudo,這里建議還是手動安裝各個依賴比較好
  • 幾點需要提醒的:
  • 沒必要特別安裝 OpenJDK 6,在編譯 R 的時候所用的 OpenJDK 7 即可
  • 無需擔心 AppArmor、Qt SDK 的依賴,Server 版本用不上
  • 解決完 debian 文件所描述的后,參照 common/install-common 里的內容進一步處理依賴關系,同樣還是建議參考,但是手動處理,其實也就是手動執(zhí)行同目錄下的其他以 install 開頭的腳本。當然在上一步 debian 腳本中通過倉庫解決的就不需要了,比如 boost 和 pandoc
  • 此時可以參考 RStudio 論壇上的解答,包括下載最新版本的 Closure Complier 來替換 src/gwt/tools目 錄中的老版本,已經(jīng)創(chuàng)建空的 pandoc 目錄,都是值得應用的。它還提到了使用 Oracle JDK 8 來加快 GWT 構建,這點我沒有嘗試,有興趣也可以用 OpenJDK 8 看看。這篇文檔較早,新版本還需要一些 clang 的頭文件,也是使用 install 腳本處理就好。
  • 全部依賴關系處理結束之后,返回源代碼頂層目錄,按照 INSTALL 文檔的說明,創(chuàng)建 build 目錄并調用 cmake 創(chuàng)建編譯配置文件,
  • 若一切正常,就可以使用 make install 開始編譯了(沒看錯,沒有 make 步驟)。在 Z4 Tablet 上,GWT 構建果真使用了 90 分鐘,而 C++ 代碼部分的編譯用了 6 至 8 小時(具體時間未知,因為中途睡著了…)
  • 結束之后,繼續(xù)按照 INSTALL 文檔的說明,創(chuàng)建服務所用的運行賬戶、添加 init.d 配置文件、創(chuàng)建管理腳本符號鏈接、創(chuàng)建運行時所必要的目錄
  • 之后就可以通過 rstudio-server start 啟動,然后在系統(tǒng)瀏覽器中輸入 `127.0.0.1:8787`,其中 8787 是 rstudio-server 的默認端口號,就能看到熟悉的 RStduio 登錄界面啦!
  • 不過,別高興的太早…你會發(fā)現(xiàn) root 賬戶登錄不能,提示需要密碼,設置密碼后還是不行,創(chuàng)建個全新的普通用戶,問題依舊,提示 Error occurred during transmission…網(wǎng)上搜到的解決方案提示根分區(qū)滿了,呃,好像不相關啊…
  • 嘗試換用 systemd 的啟動腳本時收到提示說 dbus 不可用,不知道這個會不會是原因?

所以,RStudio Server 的確可以在 Andriod/GNURoot Debian 環(huán)境下正常編譯(盡管時間比較長),但是其正常工作,似乎還需要一些研究。

Read More:

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多