Linux deploy 超詳細(xì)入門(mén)教程

在接觸一個(gè)新的事物時(shí),我首先會(huì)探究它能解決什么問(wèn)題,再考慮它是否有研究的價(jià)值。

作為一名程序員,不管是前端還是后端,自然是離不開(kāi)和服務(wù)器打交道的。比如我就一直想有一臺(tái)自己的linux服務(wù)器。無(wú)奈各種XX云的云服務(wù)器漫天要價(jià),樹(shù)莓派4代400+的價(jià)格對(duì)于我這種不研究外設(shè)的性價(jià)比又不高,那還沒(méi)有別的選擇呢?當(dāng)然有,只要一臺(tái)舊安卓手機(jī)即可。廢話不說(shuō)直接開(kāi)始流程:

1. 當(dāng)然是準(zhǔn)備手機(jī)以及SD卡

首先運(yùn)行Linux deploy是需要root權(quán)限的,目前自用的OPPO R15舍不得用來(lái)折騰,更別說(shuō)它還不支持root。所以只能去萬(wàn)能的咸魚(yú)挑一個(gè),這里我選的是幾年前發(fā)售的TCL_M2M,MTK6752,2+16的配置。雖然配置辣雞,打個(gè)王者最低特效都只有30幀,不過(guò)50包郵還要什么自行車(chē)呢。如果你手頭更充裕的話,建議你入手小米4,2+16應(yīng)該130左右,刷機(jī)還能體驗(yàn)各種第三方OS。
入手之后刷機(jī)直接升級(jí)到安卓5.1,然后就是root后卸載無(wú)用的系統(tǒng)應(yīng)用,禁止后臺(tái)自啟等等。SD卡的話不要買(mǎi)太大,手機(jī)可能會(huì)識(shí)別不出來(lái)。

2. 配置Linux deploy

安裝Linux deploy之前得首先安裝Busybox,它集成了Linux的很多命令。
安裝完Linux deploy之后:
首先點(diǎn)開(kāi)左側(cè)菜單,點(diǎn)擊“配置文件”,點(diǎn)擊編輯改個(gè)你喜歡的名字。
然后點(diǎn)擊“設(shè)置”,【鎖定wifi】,【CPU喚醒】,【聯(lián)網(wǎng)更新】勾上,【PATH變量】最重要,點(diǎn)擊并填上/system/xbin,這樣才能關(guān)聯(lián)Busybox。然后點(diǎn)擊下面的【更新環(huán)境】。
然后點(diǎn)擊右下角的設(shè)置圖標(biāo)開(kāi)始進(jìn)行配置,這里我以Centos為例:
發(fā)行版:【CentOS】
架構(gòu):【aarch64】
版本:【7】
源地址:http://mirrors.aliyun.com/centos-altarch/

源地址記得換成國(guó)內(nèi)源,我的是阿里源,清華源體感不是很穩(wěn)定,時(shí)好時(shí)壞。

安裝類型:【分區(qū)】

如果你不了解安裝類型有什么區(qū)別,請(qǐng)看這篇文章:LinuxDeploy 詳解
眾所周知,手機(jī)內(nèi)置存儲(chǔ)/SD卡都是fat32格式,不能儲(chǔ)存超過(guò)4GB的文件。所以不能選擇【鏡像文件】形式,鏡像文件無(wú)法超過(guò)4GB也就意味著你的Centos系統(tǒng)空間最多只有4GB,隨便安幾個(gè)包就滿了。不過(guò)真的沒(méi)辦法了嗎?當(dāng)然有,以我的32GB SD卡為例,將SD卡進(jìn)行分區(qū),2GB fat32格式,25GB ext4格式,2GB緩存即可。具體操作步驟請(qǐng)看這篇文章:使用MiniTool Partition Wizard對(duì)SD卡進(jìn)行EXT4格式分區(qū)
雖然現(xiàn)在軟件版本已經(jīng)更新很多代了,但是操作步驟沒(méi)變。放心大膽的跟著做就行了。

安裝路徑: /dev/block/mmcblk1p2

其中mmcblk1相當(dāng)于sdcard1也就是SD卡,如果你想安裝內(nèi)置存儲(chǔ),就是mmcblk0,相當(dāng)于sdcard0。
p2就是mmcblk的第2個(gè)分區(qū),p1就是第一個(gè)分區(qū)。前面我分區(qū)的時(shí)候?qū)tx4分在了第2個(gè)區(qū),所以選p2。

文件系統(tǒng):【etx4】
用戶名/密碼:自選
特權(quán)用戶:root
本地化:【zh_CN.UTF8】
初始化:可選可不選

勾選后linux deploy將在啟動(dòng)后在指定路徑運(yùn)行腳本,默認(rèn)為/etc/rc.local,不過(guò)它是/etc/rc.d/rc.local的軟連接,所以就是開(kāi)機(jī)自動(dòng)運(yùn)行/etc/rc.d/rc.local的腳本

掛載:不選

由于已經(jīng)安裝在SD卡了,所以SD并沒(méi)有其他有價(jià)值的東西可供探索了。。。

SSH:必選
剩下的看自己需求

3.SSH連接&&關(guān)閉喚醒鎖

安裝系統(tǒng)是一件很漫長(zhǎng)的事。。。所以。。。be patient
安裝完畢之后,第一件事就是用SSH連接了。正上方局中的標(biāo)題就包含了你當(dāng)前的局域網(wǎng)ip。用你剛才配置的用戶名和密碼登錄即可。安卓端可以用ConnectBot,PC端推薦自帶的openssh,或者功能更全面的Xshell。如果你想開(kāi)啟SSH免密登錄的話,可以看這篇文章:三步實(shí)現(xiàn)SSH無(wú)密碼登錄

第二件事就是查看我們的分區(qū)是否成功。

[root@localhost ll]# df -h
文件系統(tǒng)              容量  已用  可用 已用% 掛載點(diǎn)
/dev/block/mmcblk1p2   25G  3.5G   20G   15% /
tmpfs                 944M   84K  943M    1% /dev
tmpfs                 944M     0  944M    0% /dev/shm

可以看到已經(jīng)成功了。

第三件事是關(guān)閉喚醒鎖。這個(gè)很重要。假如不關(guān)的話鎖屏一段時(shí)間后安卓系統(tǒng)會(huì)自動(dòng)限制后臺(tái)運(yùn)行,來(lái)達(dá)到省電的作用。怎么關(guān)呢?把系統(tǒng)的省電方案更改為均衡,并且關(guān)閉諸如休眠省電之類的選項(xiàng)。然后把Linux deploy在設(shè)置里讓其保持后臺(tái)運(yùn)行。然后下載MT管理器,打開(kāi)左側(cè)菜單點(diǎn)擊【終端模擬器】,然后下滑任務(wù)欄里開(kāi)啟喚醒鎖即可。其實(shí)任何終端應(yīng)該都有喚醒鎖功能,開(kāi)啟就行啦

4.進(jìn)行一些必要的工作

  1. 禁用yum插件
    由于yum插件每次會(huì)加載而且鏡像效果還不好,通常下載到最后一個(gè)包的時(shí)候就限速,只有幾k/s,實(shí)在慢的令人無(wú)法忍受。所以我們必須第一件事就得禁用它并換上新的鏡像源。這里我用的是阿里云的鏡像,注意,網(wǎng)上的方法并不能行得通,必須你手動(dòng)改,因?yàn)閘inux deploy大部分是aarch64構(gòu)架。
# 禁用Yum插件
vim /etc/yum.conf
找到plugins這一行改為0即可
#先執(zhí)行備份,然后將下面的配置文件替換之即可
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

#適用于aarch64構(gòu)架的阿里云鏡像源配置文件
#其實(shí)無(wú)非就是批量替換版本以及構(gòu)架而已
# CentOS-Base.repo

[base]
name=CentOS-7.7.1908 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-altarch/7.7.1908/os/aarch64/
        http://mirrors.aliyuncs.com/centos-altarch/7.7.1908/os/aarch64/
        http://mirrors.cloud.aliyuncs.com/centos-altarch/7.7.1908/os/aarch64/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-altarch/RPM-GPG-KEY-CentOS-7
 
#released updates 
[updates]
name=CentOS-7.7.1908 - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-altarch/7.7.1908/updates/aarch64/
        http://mirrors.aliyuncs.com/centos-altarch/7.7.1908/updates/aarch64/
        http://mirrors.cloud.aliyuncs.com/centos-altarch/7.7.1908/updates/aarch64/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-altarch/RPM-GPG-KEY-CentOS-7
 
#additional packages that may be useful
[extras]
name=CentOS-7.7.1908 - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-altarch/7.7.1908/extras/aarch64/
        http://mirrors.aliyuncs.com/centos-altarch/7.7.1908/extras/aarch64/
        http://mirrors.cloud.aliyuncs.com/centos-altarch/7.7.1908/extras/aarch64/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-altarch/RPM-GPG-KEY-CentOS-7
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-7.7.1908 - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-altarch/7.7.1908/centosplus/aarch64/
        http://mirrors.aliyuncs.com/centos-altarch/7.7.1908/centosplus/aarch64/
        http://mirrors.cloud.aliyuncs.com/centos-altarch/7.7.1908/centosplus/aarch64/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos-altarch/RPM-GPG-KEY-CentOS-7
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-7.7.1908 - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-altarch/7.7.1908/contrib/aarch64/
        http://mirrors.aliyuncs.com/centos-altarch/7.7.1908/contrib/aarch64/
        http://mirrors.cloud.aliyuncs.com/centos-altarch/7.7.1908/contrib/aarch64/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos-altarch/RPM-GPG-KEY-CentOS-7

2.添加環(huán)境變量
這里默認(rèn)/usr/local/bin并不在系統(tǒng)變量中,我們需要在/etc/bashrc中添加之

echo export PATH=$PATH:/usr/local/bin >> /etc/bashrc

3.尋找systemctl的替代品

#從代碼中的github地址你可以發(fā)現(xiàn)怎么在chroot容器中實(shí)現(xiàn)systemctl類似的效果
wget https://github.com/smaknsk/servicectl/archive/1.0.tar.gz
tar -xf 1.0.tar.gz -C /usr/local/lib/
ln -s /usr/local/lib/servicectl-1.0/servicectl /usr/local/bin/servicectl
ln -s /usr/local/lib/servicectl-1.0/serviced /usr/local/bin/serviced

4.安裝Yarn(非必要,前端必備)
安裝yarn最好用npm裝,最后用軟連接給/usr/local/bin即可,注意node的安裝包不要放在你默認(rèn)用戶的文件夾(例如/home/ll),否則其他用戶會(huì)因?yàn)闄?quán)限不夠訪問(wèn)不了node,npm,yarn等命令

# 這里我是將nodejs的包放在了/opt/下
ln -s /opt/nodejs/bin/node /usr/local/bin/node
ln -s /opt/nodejs/bin/npm /usr/local/bin/npm 
npm config set registry http://registry.npm.taobao.org/
npm install -g yarn
ln -s /opt/nodejs/bin/yarn /usr/local/bin/yarn
yarn config set registry http://registry.npm.taobao.org/

5.備份與恢復(fù)

點(diǎn)擊軟件右上角菜單,點(diǎn)擊【導(dǎo)出】即可備份鏡像了,不過(guò)就是比較慢,需要耐心等待,并且這個(gè)鏡像不能超過(guò)4GB,否則將無(wú)法儲(chǔ)存(FAT32最大只能儲(chǔ)存4GB文件)想恢復(fù)直接安裝這個(gè)鏡像即可。方法是,在安裝時(shí)在【發(fā)行版GNU/Linux】中選擇“rootfs.tar”,然后在【源地址】中選擇你導(dǎo)出鏡像的路徑,開(kāi)始安裝即可。

最后是一些常用軟件的安裝方法

screen-多任務(wù)利器
Nodejs最新版
Python3
內(nèi)網(wǎng)穿透利器-Ngrok

結(jié)語(yǔ)

還有最后的最后,說(shuō)一千道一萬(wàn),不如直接給個(gè)現(xiàn)成的包來(lái)的痛快,你說(shuō)是叭?
奉上自用Centos7的鏡像:堅(jiān)果云鏈接,已安裝以下軟件(包在/opt/中):

  • nodejs 12.16.0
  • yarn 1.22.0
  • python 3.6.4
  • @vue/cli 4.2.2
  • screen 4.0.1
    安裝方法就在上面的第五節(jié)【備份與恢復(fù)】中,如果需要用戶名和密碼,則為
    用戶名:ll
    密碼:0000
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容