之前有網友提到了,于是補充一篇關于:手機刷PostmarketOS系統後如何安裝docker。另外順便解答大家的一些問題:
PostmarketOS是可以在手機上原生運行的Linux系統,基于Alpine Linux開發。刷機後可以在舊手機上體驗完整的Linux系統。這裡重點說一句:刷PostmarketOS和大家理解的刷機目的完全不同。手機刷PostmarketOS後就不是為了作為手機使用。
雖然PostmarketOS具備手機的一些功能比如打電話、聯網。但操作邏輯和安卓IOS不同,也并不好用。加上一些驅動原因很多手機刷機後撥号和網絡功能無法正常使用。所以如果隻是圖個新鮮刷PostmarketOS完全沒必要。PostmarketOS的意義在于讓的舊設備變成一台Linux主機,你可以在上面學習Linux操作,網站搭建等。是一個非常不錯的學習和實驗環境。鑒于現在樹莓派漲價嚴重,舊手機刷PostmarketOS完全可以成為性能更好價格更低的代替方案。
并非隻有紅米2才能刷PostmarketOS,在官方的wiki上可以看到已經有非常多的設備刷了PostmarketOS。但是不同的設備刷機難度不同,而且網上很難找到完整的刷機方案,新手玩不轉。新手想體驗PostmarketOS建議找最成熟的刷機方案。
另外由于很多設備兼容不完全,導緻功能無法完全正常使用,這也是為什麼如果你刷PostmarketOS是為了當一個手機用,那就完全沒必要。但是如果你隻是想把一台舊手機改裝成Linux主機,那你的選擇非常多,而且最終好用程度可能會超出你的預期。
先介紹一下如何安裝docker,PostmarketOS的包管理命令是apk,用下面的命令安裝docker并設置開機自啟動:
sudo apk add docker
sudo service docker start
sudo rc-update add docker default
我推薦搭建順便安裝一下zerotier,這樣遠程也可以訪問手機SSH也能遠程訪問docker裡的應用。
sudo apk add zerotier
但是安裝docker之後會遇到一個問題,因為防火牆的原因docker的端口無法通過外部訪問。雖然官方文檔裡介紹了可以通過防火牆規則允許docker通信,但是實際我按照官方指引配置/etc/nftables.d後無效:
#!/usr/sbin/nft -f
table inet filter {
chain input {
iifname "docker*" accept comment "Allow incoming network traffic from Docker"
}
chain forward {
iifname "docker*" accept comment "Allow outgoing network traffic from Docker"
ct state {established, related} counter accept comment "accept established connections"
}
}
于是我直接關了防火牆(因為這不是真正的服務器,也沒有公網所以關閉防火牆影響不大):
sudo service nftables stop
sudo rc-update del nftables
這下docker可以正常訪問了,但是注意由于手機CPU是ARM指令集,所以下載鏡像時也要搜索ARM鏡像。我安裝了一個speedtest進行測速。PostmarketOS另一個強大之處在于USB連接電腦可以使用USB網卡模式共享電腦的網絡,直接通過172.16.42.1就可以訪問PostmarketOS。在USB連接模式下我的紅米2測速可以達到100兆:
而在wifi連接下,測速則隻有20兆:
另外有朋友說通過USB聯網可不可以充電,事實上通過USB聯網同時是可以充電的。所以隻要通過USB插在電腦上,PostmarketOS就是一台帶UPS的小主機。可以像我一樣套娃(手機連接小主機)。
以及通過SSH小主機後,再SSH手機:
唯一遺憾的是手機OTG拓展時不能充電,不然通過OTG拓展真可以做一台功能不錯的小主機了(至少做個下載機沒問題)。如果USB口被占用隻能通過改裝電池位置的電源接口。
如果手機内存比較小,比如像我這台紅米2(1G 8G),其實安裝Docker的意義不大,因為很多鏡像安裝下來有幾百兆,空間馬上就會被占滿。如果有性能好一點的手機可以用Docker搭建不少服務。如果手機性能較差,主要用于學習Linux。把它當成一個小服務器進行測試學習Nginx PHP Sqlite勉強可以運行。
另外編譯安裝wakeonlan後作為局域網的一個喚醒器喚醒局域網中的其它主機,直接命令操作比較麻煩可以通過設置alias配置:
alias ubuntu='~/sd/WakeOnLAN-0.3/a.out mac地址'
最後關于折騰是不是浪費時間這個問題,折騰是真折騰。至于是不是浪費時間,主要看目的和個人愛好,但有一說一PostmarketOS這個項目是真不錯。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!