Termux
Termux 是运行在 Android 上的 Linux terminal。不需要root,运行于内部存储(不在SD卡上)。
Termux 镜像使用帮助 TUNA
官方源代码仓库 - https://github.com/termux/termux-app
从上面可以知道截止2020/2/16,最新版是v.107,只发布在F-droid。但是在F-Droid上面发现最新的是v.106版本的。。。
版本 0.106 (106) - 更新日期:2021-01-25
该版本需要 Android 7.0 及以上版本。
首先我得找台安卓7.0的家伙。。
入门到成为服务器
安装没啥好说的,F-Droid上面下载apk安装
设置镜像
清华的,不用解释了吧。Termux 镜像使用帮助 TUNA
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
apt update && apt upgrade
SSH
软件安装:$ apt install openssh
设置远程登录密码:$ passwd
电脑端登录:$ ssh phone_ip -p 8022
Termux 详解—— Android 平台上完美移植的 Linux 工具集 rollingstarky
# 安装shh
apt install openssh
# 设置远程登录密码
passwd
# 启动 SSH 服务
sshd
# 验证ssh服务是否开启
ssh localhost -p 8022
# 查看ip
ifconfig -a
转到电脑操作,ip需要替换为上面查到的ip地址,我的是Linux电脑,(__) 嘻嘻……
ssh -p 8022 user@ip
在问你yes、no的时候回答yes后回车,直接回车会失败。。。
如果要关闭SSH 服务,只需要在Termux上运行下面的命令即可终止服务
pkill sshd
常用命令
pkg 使用命令速记
pkg search 搜索包
pkg install 安装包
pkg uninstall 卸载包
pkg update 更新源
pkg upgrade 升级软件包
pkg shoe 显示某个包的详细信息
Termux:Android 上的一款终端神器 tinyRatP
手机存储
开启 Termux 的存储权限,不然Termux 无法访问手机存储
termux-setup-storage
在弹出授权的窗口中允许即可;
该命令会在用户主目录下生成 storage 文件夹,里面即包含了到系统主要资源(如手机内存、外置存储卡、Downloads 文件夹、照片等)的链接。
Termux 详解—— Android 平台上完美移植的 Linux 工具集 rollingstarky
攻城狮
git
apt install git -y
python
安装慢的话往上看镜像设置
apt install python -y
数据库
以mariadb为例
# 安装mariadb
apt install mariadb -y
# 配置mariadb,20200216得知已经不需要配置了
$ mysql_install_db
mysql.user table already exists!
Run mysql_upgrade, not mysql_install_db
# 启动mariadb数据库服务,不建议使用这种方式!!!
# 正确启动方式在下面
mysqld
# 打开另一个ssh进行操作,登录数据库客户端
mysql -u $(whoami)
# 输入 \q 退出数据库shell
启动之后是无法进行其它操作的。。比如我下面瞎操作
# 查询mysql进程id
ps aux | grep mysql
》u0_a92 21924 0.1 2.4 521632 67376 pts/1 S<l+ 1970 0:01 mysqld
》u0_a92 22463 2.0 0.0 9764 1740 pts/2 S<+ 1970 0:00 grep mysqld
# 可以从第一行看出 mysqld的进程是21924, 第二行是我们查询这件事情的进程id
# 结束数据库进程,-9 后面的的id需要
kill -9 21924
此时mysqld数据已经被关闭了,如果再尝试登录的话,就会报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/data/com.termux/files/usr/tmp/mysqld.sock' (111)
正确启动方式
mysqld_safe -u root &
mysqld_safe 与 mysqld 区别:直接运行 mysqld 程序来启动 MySQL 服务的方法很少见。mysqld_safe 脚本会在启动 MySQL 服务器后继续监控其运行情况,并在其死机时重新启动它。mysql.server 脚本其实也是调用 mysqld_safe 脚本去启动 MySQL 服务器的。
mysqld_safe 相当于多了一个守护进程,当 mysqld 挂了会自动把 mysqld 进程拉起来。
Android终端Termux安装MariaDB/MySQL数据库 奉君逍遥
此时会安全的启动mariadb,并且输出其进程号,可凭借此进程号关闭mariadb,记不住也没有关系
关闭方式
# 查询mysql进程id
ps aux | grep mysql
》u0_a92 21924 0.1 2.4 521632 67376 pts/1 S<l+ 1970 0:01 mysqld
》u0_a92 22463 2.0 0.0 9764 1740 pts/2 S<+ 1970 0:00 grep mysqld
# 可以从第一行看出 mysqld的进程是21924, 第二行是我们查询这件事情的进程id
# 结束数据库进程,-9 后面的的id需要
kill -9 21924