在安卓上部署伺服器 - 應用程序的配置

本系列其他文章:

0. 在安卓上部署伺服器

1. 在安卓上部署伺服器 - 應用程序的配置

2. 在安卓上部署伺服器 - 解決內網穿透問題

3. 在安卓上部署伺服器 - 部署腳本和博客

本文介紹上篇文章中提到的四個app(BusyBox、ES文件瀏覽器、Linux Deploy、JuiceSSH/XShell)的配置和使用。大家有更好的方式方法的話,歡迎一起討論。

0. 手機的基礎配置1G RAM+8G ROM

1. 在使用Linux Depoly之前,需要獲取手機root許可權。並且注意安裝順序BusyBox/ES文件瀏覽器->Linux Deploy->JuiceSSH。將Linux Deploy的後台配置設置為無限制,許多系統優化會有類似MIUI的神隱模式。

2. BusyBox:安裝完打開,BusyBox會自動進行初始化,初始化完成再安裝Linux Deploy比較好。

3. Linux Deploy是一款可以在Android設備上部署Linux環境的應用,,其原理大概是在Android的Linux層跑一個chroot或者proot容器,然後再在容器中運行我們準備好的另外一個Linux系統。值得注意的是,這與我們熟知的虛擬機技術不同,新的Linux系統將和Android系統平行運行(非專業解釋不要深究)。

3.1打開Linux Deploy,我們需要在側邊欄 - Setting -Language中切換語言為」中文」。切換完成後,一直按返回鍵退出應用再重新進入應用,這時應用的顯示語言已經被我們更改為中文了。

3.2接下來,我們將使用Linux Deploy在Android設備上部署Ubuntu系統:

點擊界面最右下方的」屬性」按鈕進入配置文件的設置界面進行如下設置(我也不知道開發者為什麼會用這麼一個」下載」圖標作為配置文件設置界面的圖標):

=>Containerization method:」chroot」

=>發行版:」Ubuntu」

=>架構:保持默認值

=>發行版版本:」yakkety」(即Ubuntu 16.10)

=>源地址:mirror.tuna.tsinghua.edu.cn(因為默認源速度不佳,為了不下載一天一夜,我們這裡使用的是清華大學的開源鏡像源)

=>安裝類型:這一選項的話有兩種建議,」目錄」和」文件」,如果對Linux不太熟悉並且/data分區剩餘空間≥2g的話,建議使用」目錄」的安裝方式,如果對Linux比較熟悉或者/data分區剩餘空間<2g的話,建議使用」文件」的安裝方式。在這裡,使用」目錄」的安裝方式。

=>安裝路徑:」安裝路徑」選擇」目錄」時,這個選項將定義系統安裝在哪個路徑中,默認路徑為${ENV_DIR}/rootfs/linux,即安裝在/data/user/0/ru.meefik.linuxdeploy/env/rootfs/linux目錄下。」安裝類型」選擇」文件」時,這個選項將定義系統安裝在哪個鏡像文件中,默認值為」外置存儲/linux.img。

=>鏡像大小(MB)(安裝類型」選擇」文件」時可用):這個選項將定義系統所在鏡像文件的大小。系統安裝之前將在安裝目錄創建一個大小為設置的鏡像大小的空文件用來存放系統文件和數據(相當於新Linux系統的總磁碟空間)。建議不要用默認值,填寫2048m足夠了。

=>文件系統(安裝類型」選擇」文件」時可用):選擇」自動」就好。

=>用戶名:這個選項為登錄系統時的用戶名,默認為」android」,可以隨意更改。

=>用戶密碼:這個選項為Ubuntu系統中用戶的密碼,可以根據自己的習慣填寫。

=>PrivilegedUsers:保持默認值」root」

=>DNS伺服器:可以保持默認值,也可自定義填寫DNS伺服器地址(如114.114.114.114等)

=>本地化:建議保持默認值POSIX,如果有其他需求,比如ssh返回結果中文化/VNC中文化時,選擇」zh_CN.UTF8」

=>INIT/MOUNTS項:若有需求時可以設置,無需求可以忽略。

=>允許SSH伺服器啟動:打開此選項

=>SSH設置:保持默認

=>允許圖形界面啟動:若有需求可以設置,這裡暫時不打開這個選項

3.3設置完成後,按返回鍵返回到應用主界面,按下菜單鍵,選擇」安裝」開始Linux系統的安裝,安裝過程中需要一直保持網路連接(建議在WIFI下安裝,大概需要幾百兆流量)。

當看到終端輸出」>>>deploy」時,代表安裝已開始

開始和完成中間約二十分鐘,使用默認源三十分鐘以上。

當看到終端輸出」<<<deploy」時,代表安裝已完成

點擊主界面下方的」啟動」按鈕可以啟動新安裝的系統,點擊」停止」可以停止系統。

至此,系統部署部分描述完畢。

4. JuiceSSH配置和使用。部署完畢後,我們需要用到JuiceSSH之類的SSH工具來登錄系統(這裡以JuiceSSH為例)。

點擊連接->認證,新建一個認證:

=>昵稱:隨便填寫,用於標識認證,這裡填寫「用於標識認證」

=>用戶名:填寫Linux Deploy上你填寫過的用戶名,這裡是Zkeeer

=>密碼:填寫Linux Deploy上你填寫過的密碼,這裡是password

點擊右上角√

進入新建連接界面:

=>昵稱:可隨意填寫,用以標識SSH鏈接,這裡填寫「用於標識連接」

=>類型:SSH

=>地址:填寫Linux Deploy應用標題欄中那個,這裡是127.0.0.1

點擊右上角√

在」連接列表」中點擊剛剛新建的這個項目連接到我們剛剛部署好的系統,連接成功後界面如下:

因為我們是通過普通用戶android登陸系統的,接下來我們需要設置超級用戶(root)的密碼並且以超級用戶的身份登陸系統,在終端中鍵入:sudo passwd root

終端將會提示用戶輸入root用戶的密碼並且再次輸入一次以確認(輸入密碼時密碼將不可見,連*都不會顯示)。

設置完畢後,在終端鍵入命令su並輸入剛剛設置好的root用戶密碼即可切換到root用戶。

5. 使用Xshell(PC端)登錄:下載並安裝Xshell後,文件->新建。

=>名稱、協議、主機、埠號都跟juicessh配置一樣

6. 使用ES文件瀏覽器進行文件的管理:

=>如果你是通過目錄方式部署的Linux系統,那麼你可以直接使用ES訪問/data/user/0/ru.meefik.linuxdeploy/env/rootfs/linux來管理新系統中的文件

=>如果你是通過文件方式部署的Linux系統,管理文件等操作就得依靠SFTP或者SSH了。SFTP具體配置見參考文章。

參考文章:Linux Deploy:在Android上部署Linux

推薦閱讀:

進程地址空間
為什麼操作系統必須要有內核?
MIUI V6 引入的Linux系統內核內存優化技術分別是什麼?
哪種Linux發行版適合程序員做開發?
[嘎嘣脆] Linux:查看文件內容

TAG:Android | Linux | Android应用 |