少年,为什么要去换不锈钢脸盆呢?
在我很小的时候,曾听闻路边的喇叭说,破了烂了不用的手机不要丢,也不要拿给小孩玩,都可以换不锈钢脸盆,统统可以换不锈钢脸盆,我蠢蠢欲动地拿起大哥大试了下,嗯,真的可以换不锈钢脸盆的,中国人不骗中国人。随着社会的发展,技术的更新迭代,人们现在用的手机功能越来越丰富,我开始犹豫了,还换不换脸盆呢?最终我找到了一种和过去的手机和解的办法,我不换了,我准备结合termux这个软件把它打造成一款迷你型服务器,
------题记
需求介绍:
结合termux(把它当Linux用吧)其实可以做很多事情,但我只关注于楼下这几个需求点
有一台还能用的又不常用的手机 偶尔会学点Python,所以需要一个Python的环境 还需要有个Node的环境,我好长一段时间吃饭都靠它了 偶尔会学点Shell脚本,好在这个环境天然就在 偶尔会学点数据库,所以需要一个Mariadb、Redis环境 偶尔会学点Nginx,所以需要一个Nginx服务器 终端敲命令自然少不了vim,我希望它能够好用一点 还有一大堆辅助工具,比如说wget、curl、git啥的
termux下载安装教程
此处省略阉割版Android投胎转世Android1000个字教程。如果你不是原生Android的话,那你需要去网上下载对应的termux.apk安装包了:),可以搜下酷安或者F-Droid去下载下
这里以Redmi Note 7为例,我们打开手机进入到首页,然后打开相册边上的Google Play商店。
搜下关键词termux,然后点击安装,顺便把它楼下的termux:API也安装下,它有很多辅助的功能,有些还挺好玩的。
到这里,关于安装这块就告一段落。
termux环境配置教程
首先是换源这件事
早年间,一股神秘的东方力量横空出世,刹那间风云四起,访问一些网站可能有点慢或者访问不了,所以需要切回国内的源,本文用的是清华源,有兴趣你也可以用科大源。这里你懒一点就直接一把复制粘贴到命令框里面,然后执行pkg update
mkdir -p $PREFIX/etc/apt/sources.list.d/
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list
sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list
当然你也可以用vi或者vim去编辑对应的源文件 执行 vi $PREFIX/etc/apt/sources.list.d/
然后粘贴楼下这句话
deb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main
后面两个源也是按照这个同理的,为了鼓励读者动手,我就不动手往下写了:)
一些常用的工具集合
这里的话,我大致是这样思考的,首先,网络这块肯定是需要一个好用一点的编辑器 , 然后是一些下载命令、再然后免不了做版本控制,还有一些编译需求,大致需要装的包也就差不多了 pkg install vim curl wget git cmake -y
, 这里-y
表示不需要确认了,你直接装吧。
shell环境搭建和配置
颜值即正义,zsh结合oh-my-zsh用起来舒服点,我就配置zsh了,执行命令 sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"
,默认的主题文件夹在.oh-my-zsh/themes
,你可以选一个你喜欢的主题,我选的是robbyrussell这个主题,比较简约好看, 要换主题的话vim ~/,zshrc
搜一下ZSH_THEME,然后更换成你想要的主题就好了。我们希望终端输入命令有提示,这个时候需要装个插件是autosuggestions。执行git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
然后 vim ~/.vimrc
, 找到插件的配置,把刚才装的插件带上如下:plugins=(..., zsh-autosuggestions)
按键好像有些少,这里可以进行相关的扩展,执行命令 vim ~/.termux/termux.properties
,然后粘贴楼下的的内容
extra-keys = [ \
['ESC','|','/','HOME','UP','END','PGUP','DEL'], \
['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN','BKSP'] \
]
python环境搭建和配置
python2已经被抛弃了,可以不用管直接上python3吧,不过作为是安装教程嘛,还是提及一下。
python2的安装 pkg install python2 -y
python3的安装 pkg install python2 -y
升级下pip
python2 -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
这里可以选用jupyer notebook作为学习工具,具体的安装如下:
apt install libclang libclang-dev
apt install libzmq libzmq-dev
pip3 install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
pip3 install jupyterlab -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
nodejs环境搭建和配置
这里我们安装的是长期稳定版本pkg install nodejs-lts
Mariadb环境搭建和配置
pkg install mariadb
redis环境搭建和配置
pkg install redis
nginx服务器搭建和配置
pkg install nginx
内网环境共享
需要安装openssh,执行命令pkg install openssh
,然后执行sshd,就可以了,通过whoami
查看当前用户名称,默认端口是8022, 密码的话可以通过passwd
进行设置。
➜ ~ ssh u0_a274@192.168.1.101 -p 8022
The authenticity of host '[192.168.1.101]:8022 ([192.168.1.101]:8022)' can't be established.
ED25519 key fingerprint is SHA256:xOzm0vQnd9DssNNDuFJ66S88UyVELTwrUgbSrtOgRkA.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[192.168.1.101]:8022' (ED25519) to the list of known hosts.
u0_a274@192.168.1.101's password:
Welcome to Termux!
Communities: https://termux.org/community
Gitter chat: https://gitter.im/termux/termux
IRC channel: #termux on libera.chat
Working with packages:
* Search packages: pkg search <query>
* Install a package: pkg install <package>
* Upgrade packages: pkg upgrade
Subscribing to additional repositories:
* Root: pkg install root-repo
* X11: pkg install x11-repo
Report issues at https://termux.org/issues
➜ ~
思考
为什么会有安装termux的想法?
主要是不太想换不锈钢脸盆那,然后线上的云服务器无力支付抚养,所以就慢慢地去了解,发现termux刚好满足需求可以做这件事。
为什么只选Python和nodejs环境?
额,这个你看个人需要吧,用到什么搞什么,像java、c++、go、php都是可以的,楼主脚本写的多一点,就装这两个吧。
为什么没有装mongodb?
mongodb需要的依赖在新版里没有,我看了很多github和stackoverflow的帖子,都不太行,我放弃了。。。。。。
什么样的场景使用?
事情是这样子的,有的时候我可能画完画,或者看完电影,看了下时钟还有一两个小时就12点了,我就不是特别想开电脑了,这个时候我会打开termux玩玩,当然手机屏幕本身不大,如 楼上的教程所示,我是用我家的ipad pro连接到termux上的,这样看着写着舒服多了,毕竟我看电影也是ipad上看的哈哈哈,一气呵成。图中所示的ipad软件是iTerminal Pro(40块钱),我建议你再贴20块钱,买它的组合套装,包括iNetTools和iTransfer。
相关资料
termux官网:https://termux.com/ termux的GitHub地址:https://github.com/termux/termux-app termux的使用说明书:https://wiki.termux.com/wiki/Main_Page