Linux deploy 超详细入门教程

在接触一个新的事物时,我首先会探究它能解决什么问题,再考虑它是否有研究的价值。

作为一名程序员,不管是前端还是后端,自然是离不开和服务器打交道的。比如我就一直想有一台自己的linux服务器。无奈各种XX云的云服务器漫天要价,树莓派4代400+的价格对于我这种不研究外设的性价比又不高,那还没有别的选择呢?当然有,只要一台旧安卓手机即可。废话不说直接开始流程:

1. 当然是准备手机以及SD卡

首先运行Linux deploy是需要root权限的,目前自用的OPPO R15舍不得用来折腾,更别说它还不支持root。所以只能去万能的咸鱼挑一个,这里我选的是几年前发售的TCL_M2M,MTK6752,2+16的配置。虽然配置辣鸡,打个王者最低特效都只有30帧,不过50包邮还要什么自行车呢。如果你手头更充裕的话,建议你入手小米4,2+16应该130左右,刷机还能体验各种第三方OS。
入手之后刷机直接升级到安卓5.1,然后就是root后卸载无用的系统应用,禁止后台自启等等。SD卡的话不要买太大,手机可能会识别不出来。

2. 配置Linux deploy

安装Linux deploy之前得首先安装Busybox,它集成了Linux的很多命令。
安装完Linux deploy之后:
首先点开左侧菜单,点击“配置文件”,点击编辑改个你喜欢的名字。
然后点击“设置”,【锁定wifi】,【CPU唤醒】,【联网更新】勾上,【PATH变量】最重要,点击并填上/system/xbin,这样才能关联Busybox。然后点击下面的【更新环境】。
然后点击右下角的设置图标开始进行配置,这里我以Centos为例:
发行版:【CentOS】
架构:【aarch64】
版本:【7】
源地址:http://mirrors.aliyun.com/centos-altarch/

源地址记得换成国内源,我的是阿里源,清华源体感不是很稳定,时好时坏。

安装类型:【分区】

如果你不了解安装类型有什么区别,请看这篇文章:LinuxDeploy 详解
众所周知,手机内置存储/SD卡都是fat32格式,不能储存超过4GB的文件。所以不能选择【镜像文件】形式,镜像文件无法超过4GB也就意味着你的Centos系统空间最多只有4GB,随便安几个包就满了。不过真的没办法了吗?当然有,以我的32GB SD卡为例,将SD卡进行分区,2GB fat32格式,25GB ext4格式,2GB缓存即可。具体操作步骤请看这篇文章:使用MiniTool Partition Wizard对SD卡进行EXT4格式分区
虽然现在软件版本已经更新很多代了,但是操作步骤没变。放心大胆的跟着做就行了。

安装路径: /dev/block/mmcblk1p2

其中mmcblk1相当于sdcard1也就是SD卡,如果你想安装内置存储,就是mmcblk0,相当于sdcard0。
p2就是mmcblk的第2个分区,p1就是第一个分区。前面我分区的时候将etx4分在了第2个区,所以选p2。

文件系统:【etx4】
用户名/密码:自选
特权用户:root
本地化:【zh_CN.UTF8】
初始化:可选可不选

勾选后linux deploy将在启动后在指定路径运行脚本,默认为/etc/rc.local,不过它是/etc/rc.d/rc.local的软连接,所以就是开机自动运行/etc/rc.d/rc.local的脚本

挂载:不选

由于已经安装在SD卡了,所以SD并没有其他有价值的东西可供探索了。。。

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

3.SSH连接&&关闭唤醒锁

安装系统是一件很漫长的事。。。所以。。。be patient
安装完毕之后,第一件事就是用SSH连接了。正上方局中的标题就包含了你当前的局域网ip。用你刚才配置的用户名和密码登录即可。安卓端可以用ConnectBot,PC端推荐自带的openssh,或者功能更全面的Xshell。如果你想开启SSH免密登录的话,可以看这篇文章:三步实现SSH无密码登录

第二件事就是查看我们的分区是否成功。

[root@localhost ll]# df -h
文件系统              容量  已用  可用 已用% 挂载点
/dev/block/mmcblk1p2   25G  3.5G   20G   15% /
tmpfs                 944M   84K  943M    1% /dev
tmpfs                 944M     0  944M    0% /dev/shm

可以看到已经成功了。

第三件事是关闭唤醒锁。这个很重要。假如不关的话锁屏一段时间后安卓系统会自动限制后台运行,来达到省电的作用。怎么关呢?把系统的省电方案更改为均衡,并且关闭诸如休眠省电之类的选项。然后把Linux deploy在设置里让其保持后台运行。然后下载MT管理器,打开左侧菜单点击【终端模拟器】,然后下滑任务栏里开启唤醒锁即可。其实任何终端应该都有唤醒锁功能,开启就行啦

4.进行一些必要的工作

  1. 禁用yum插件
    由于yum插件每次会加载而且镜像效果还不好,通常下载到最后一个包的时候就限速,只有几k/s,实在慢的令人无法忍受。所以我们必须第一件事就得禁用它并换上新的镜像源。这里我用的是阿里云的镜像,注意,网上的方法并不能行得通,必须你手动改,因为linux deploy大部分是aarch64构架。
# 禁用Yum插件
vim /etc/yum.conf
找到plugins这一行改为0即可
#先执行备份,然后将下面的配置文件替换之即可
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

#适用于aarch64构架的阿里云镜像源配置文件
#其实无非就是批量替换版本以及构架而已
# 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.添加环境变量
这里默认/usr/local/bin并不在系统变量中,我们需要在/etc/bashrc中添加之

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

3.寻找systemctl的替代品

#从代码中的github地址你可以发现怎么在chroot容器中实现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的安装包不要放在你默认用户的文件夹(例如/home/ll),否则其他用户会因为权限不够访问不了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.备份与恢复

点击软件右上角菜单,点击【导出】即可备份镜像了,不过就是比较慢,需要耐心等待,并且这个镜像不能超过4GB,否则将无法储存(FAT32最大只能储存4GB文件)想恢复直接安装这个镜像即可。方法是,在安装时在【发行版GNU/Linux】中选择“rootfs.tar”,然后在【源地址】中选择你导出镜像的路径,开始安装即可。

最后是一些常用软件的安装方法

screen-多任务利器
Nodejs最新版
Python3
内网穿透利器-Ngrok

结语

还有最后的最后,说一千道一万,不如直接给个现成的包来的痛快,你说是叭?
奉上自用Centos7的镜像:坚果云链接,已安装以下软件(包在/opt/中):

  • nodejs 12.16.0
  • yarn 1.22.0
  • python 3.6.4
  • @vue/cli 4.2.2
  • screen 4.0.1
    安装方法就在上面的第五节【备份与恢复】中,如果需要用户名和密码,则为
    用户名:ll
    密码:0000
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269