嘗試了一下在華為暢享 8 上安裝 Linux Deploy 運行 CentOS 7 ARM,然后安裝 LNMP。用了幾個小時的時間終于是裝好了,現在正常運行中。
博客地址: 請點下面 是一個 Hexo 的靜態博客。
使用 Sakura Frp 做了內網穿透,因為是國內服務器,沒有備案,請用 https 訪問。
下面介紹一下安裝經過,篇幅較長,慢慢看
一、刷機
之前這部手機是裝電信寬帶送的,送了我兩部,另一部比較小拿來聽歌用,這一部比較大用來備用(我平時用的是華為 Mate8 和另一部 iPhone 6s)。去年這部暢享 8 就拿到手了,當時在百度和 Google 都沒有 Root 的方案,但是我花了 10 塊錢上淘寶搞了個解鎖碼,成功把手機解鎖了。
前天晚上 12 點多,無意中在華為的花粉俱樂部發現有人發了個帶 Root 的 ROM,感覺不錯就下載下來試著刷了一下,刷完正常開機,感覺還是 OK 的,但是很快我就發現沒這么簡單!主屏翻了一頁以后,看到了一大堆預裝軟件,并且是刪不掉的!這就很蛋疼了。于是我嘗試用幸運破解器刪除,結果發現沒有作用。再次嘗試使用 RE 文件管理器手動進入 /system/app/priv-app/ 刪除應用,刪除成功。
剛想著終于除掉了這些預裝應用,可以開始玩耍了,打算重啟插個手機卡。卡插上去,開機,發現卡在第一屏了,一動不動,強制重啟,按住電源鍵 + 音量上,進入 Recovery,恢復出廠設置,格式化 Cache 分區,再開機,依然進不去。無奈只能重新刷一次機,刷完之后按照上面的步驟再次嘗試刪除預裝應用,結果還是發生了無法開機的情況!一臉懵逼,于是我再嘗試直接修改 system.img ,刪除掉預裝應用再刷機,結果刷完直接開不了機……服了。
再回到花粉俱樂部,尋找相關解決方案,再次發現了這個作者發的另一個刷機包,和之前那個不同的是,這個是基于 215 版本制作的,而我之前刷的是 211,抱著試一試的態度我又嘗試下載了這個刷機包。刷完了以后,又準備開始卸載預裝,這回我沒有用手動刪除文件的方法,因為我突然想起來一個好方法:adb。
連上數據線,打開 USB 調試模式,adb devices 列出設備,然后 adb shell 連接終端。這時候需要打開 SuperSU,因為不啟動它的話權限申請提示框不會彈出來。回到 Shell,輸入 su 提升到 root 權限,接著用幸運破解器查看想要卸載的軟件包名,例如預裝了個 360 安全衛士,包名是 com.qihoo360.mobilesafe,使用命令 pm uninstall -k –user 0 com.qihoo360.mobilesafe 強制卸載它,OK,卸載成功。
很快,所有預裝的垃圾軟件都卸載了,嘗試一下重啟手機,正常啟動,正常進入系統。
二、安裝 Linux Deploy
裝完機,安裝谷歌三件套,然后在 Google Play 下載 Linux Deploy。下載完后,配置容器環境,儲存模式為目錄,然后開始執行容器安裝,安裝只用了幾分鐘,然后點擊啟動,出現了幾個 fail,然后嘗試連接 SSH,失敗。
一開始以為是架構選錯了,但是查了一下暢享 8 的高通驍龍 430 是支持 Aarch64 的啊……于是換成了 armfs 再嘗試安裝了一次,還是失敗。最后想了一下,是不是儲存模式不能是目錄?于是換成了鏡像模式再試一次,這回成功安裝和運行,全部顯示 done。
三、安裝 LNMP
一開始打算用 OneinStack 的,但是發現安裝到一半就報錯,看起來是不支持 ARM 設備。
于是打算用 yum 安裝,結果發現軟件版本都太老了…… PHP 版本居然還是 5.2,Nginx 還是 1.12 ,只好自己來編譯了。從官網下載 PHP 源碼開始編譯,下載的版本是 7.3.1,首先 configure 用了兩分鐘,然后提示缺少 libxxxx,用 yum 命令安裝,然后再執行 configure… 又提示缺少 libxxxxx… 一共執行了十幾次 configure,耗時接近 40 分鐘。
接著是編譯 PHP,make 第一次用了二十多分鐘,最后編譯失敗,換了個參數再次編譯,用了半個多小時,編譯成功。然后安裝 Composer,結果發現執行 require 的時候提示要 php_zip 擴展,于是我又得去編譯個 php_zip 擴展,結果編譯的時候提示我需要 libzip,只能用 yum install libzip,安裝完再編譯又提示版本太低!!!又得去官網下載最新版的 libzip,編譯的時候又提示需要 cmake !!!又去下載編譯了一個 cmake ……前前后后總共用了兩三個小時!
終于把 cmake 裝好了,開始編譯 libzip,編譯成功了!接著開始編譯 php_zip 擴展,結果編譯失敗!仔細看了看報錯,再復制到 Google 搜了一下,并沒有什么結果,于是看了看源碼報錯的地方,注釋掉了兩行代碼,再次編譯成功了(但是不知道這樣會不會出什么問題)
好……我忍著終于把 Composer 裝好了,然后安裝 Mariadb 和 Redis,因為官方提供的二進制版本沒有 ARM,只能自己編譯,下載了幾十 MB 的源碼開始編譯,耗時 1 小時 35 分鐘編譯完成。
配置 LNMP
由于是運行在容器里,當執行 systemctl 或者 service 類的命令時,都會提示 Running in chroot, ignore request. 這個問題是沒法解決的,只能在前臺運行。
于是使用 screen 將 mariadb 和 redis 放在后臺運行,接著是各種蛋疼的配置,使用了 php-fpm 運行,我找了我另一臺機子的 php.ini 復制過來,改一改配置就可以了。
Mariadb 我是第一次用源碼編譯安裝,所以裝的時候一臉懵逼,上 Google 找了很多安裝教程,用了二十多分鐘搞定了。
小插曲
我為了能夠讀取手機本身的文件,設置了將 / 掛載到容器的 /mnt/rootfs,結果我在容器里手賤執行了一下 chmod -R 771 /mnt/rootfs/data/*
然后……然后我發現我手機幾乎所有的應用都打不開了……我慌的一批
好在系統設置還能打開,進入設置啟用 adb,然后電腦鏈接,定位到 /data 下,執行 chmod -R 777 ./ 成功挽救。
搭建網站
一開始裝了個翼龍面板,這是一個游戲管理面板,裝來沒啥意義,只是截圖給群里那些人看看,裝逼用 2333
然后就沒有然后了,裝完面板就是第二天的中午 12 點了,我通宵了 12 個小時!一覺醒來就到下午 6 點了,起來隨便吃了點東西繼續研究,然后想著搭個博客玩玩,于是裝了個 Hexo,很輕松,幾分鐘就搭建好了。
總體而言,安卓機 Root 了以后可玩性還是很高的,特別像我這種喜歡搗鼓各種設備的人來說是最好的。各位有興趣的話也可以試試,利用自己閑置的手機來搭個小網站之類的還是可以的。
感謝能人分享..
推薦閱讀:蘋果x跟蘋果xr