介绍

termux主页 https://wiki.termux.com/, wiki

下载安装

基本命令

Termux除了支持apt命令外,还在此基础上封装了pkg命令,pkg命令向下兼容apt命令.apt命令大家应该都比较熟悉了,这里直接简单的介绍下pkg命令:

1
2
3
4
5
6
7
8
9
10
pkg search <query>              搜索包
pkg install <package> 安装包
pkg uninstall <package> 卸载包
pkg reinstall <package> 重新安装包
pkg update 更新源
pkg upgrade 升级软件包
pkg list-all 列出可供安装的所有包
pkg list-installed 列出已经安装的包
pkg shoe <package> 显示某个包的详细信息
pkg files <package> 显示某个包的相关文件夹路径

目录环境结构

1
2
3
4
5
6
7
8
~ > echo $HOME
/data/data/com.termux/files/home

~ > echo $PREFIX
/data/data/com.termux/files/usr

~ > echo $TMPPREFIX
/data/data/com.termux/files/usr/tmp/zsh

长期使用Linux的朋友可能会发现,这个HOME路径看上去可能不太一样,为了方便,Termux 提供了一个特殊的环境变量:PREFIX

安装vim

1
pkg install vim

设置默认编辑器

1
export EDITOR=vim

更换国内源

更换Termux清华大学源,加快软件包下载速度 参考Termux 镜像使用帮助

1
2
3
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux stable main@' $PREFIX/etc/apt/sources.list

apt update && apt upgrade

安装基本工具

1
pkg install curl wget git unzip unrar

管理员身份

利用proot工具来模拟某些需要root的环境

1
pkg install proot

然后终端下面输入:

1
termux-chroot

即可模拟root环境
在这个proot环境下面,相当于是进入了home目录,可以很方便地进行一些配置.

在管理员身份下,输入exit可回到普通用户身份。

申请读写权限 之后会在home目录下有storage 连接**

1
2
termux-setup-storage
ls storage

ssh

安装openssh

1
2
apt update
apt install openssh

启动ssh

1
sshd

连接ssh服务器

termux是单用户,可以采用密钥方式,但比较繁琐,这里采用账号密码登录方式。

先设置密码(默认是没密码的)

1
passwd

查看用户名

1
whoami

查看ip

1
ifconfig -a

连接 默认端口8022,u0_a258

1
ssh u0_a258@192.168.1.101 -p 8022

安装ftp

1
pkg install pure-ftpd

可以在PC上的Filezella客户端上配置新站点,选择协议:SFTP,连接方式:询问密码,端口8022,连接输入正确的用户名和密码,就可以访问模拟器文件夹了。具备删写功能。如果你输入连接sd卡的目录,形如/sdcard或者/storage/emulated/0,且在手机权限管理赋予Termux读写存储权限的话,就可以远程管理手机存储,同样具备删写功能。

安装c++开发环境

1
pkg install clang gdb cgdb cmake

安装python27

1
pkg install python2

安装 vim-python

1
pkg install vim-python

golang

1
2
pkg install golang
pkg install vim-golang

nodejs

1
2
3
pkg install nodejs
node -v
npm -v

MariaDB(MySQL)安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
pkg install mariadb
mysql_install_db // 初始化mysql
mysqld // 启动mysql服务


mysql // 新开一个窗口 连接mysql
提示1045 2800

我们改下配置 调过过密码认证 在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
vim /data/data/com.termux/files/usr/etc/my.cnf
[mysqld]
explicit_defaults_for_timestamp=true
skip-grant-tables

重启msyql

在使用 mysql 连接就成功了

接下来就是用sql来修改root的密码

mysql> use mysql;
mysql> select * from user; // 用户表里面是空的
mysql> flush privileges;
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; // 修改用户root 给予全部权限
mysql> grant all privileges on *.* to 'jzt'@'%' identified by '123456'with grant option; // 创建用户root 给予全部权限
mysql> flush privileges;
mysql> quit;


编辑my.cnf,去掉刚才添加的内容,然后重启MySQL

mysql -uroot -p // 使用密码登录

免root安装Centos

$ pkg install proot
$ termux-chroot

安装centos

复制以下内容到termux执行

1
pkg install wget openssl-tool proot tar -y && hash -r && wget https://raw.githubusercontent.com/EXALAB/AnLinux-Resources/master/Scripts/Installer/CentOS/centos.sh && bash centos.sh

启动centos
./start-centos.sh
退出centos
exit

nginx

pkg install nginx
/data/data/com.termux/files/usr/share/nginx/html/index.html

启动nginx
nginx

停止nginx
fuser -k 8080/tcp
重启nginx服务
nginx -s reload

127.0.0.1:8080

ssh

pkg install openssh

内网穿透

https://github.com/cloudswave/termux-script/tree/master/frpc

frp + termux内网 建站

域名 xinlingbodong.top
机器ssh ip:144.34.170.63 port:10339 passwd:bat123456 encrypt:aes-256-cfb

1.将域名 www.xinlingbodong.top 映射到机器 144.34.170.63
在主机上安装nginx
http://144.34.170.63/
http://www.xinlingbodong.top/

apt-get install wget

frp下载地址 https://github.com/fatedier/frp/releases
wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_linux_arm64.tar.gz

tar -zxvf frp_0.29.1_linux_arm64.tar.gz
mv frp_0.29.1_linux_arm64 frp

vim frps.ini

iptables -I INPUT -p tcp –dport 7000 -j ACCEPT
iptables-save

1
2
3
4
5
6
7
8
9
10
[common]

# 绑定端口
bind_port = 7000

# 通过自定义域名访问部署于内网的 web 服务
vhost_http_port = 8080


#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000

[web]
type = http
local_port = 80
custom_domains = www.yourdomain.com

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

通过 ssh 访问内网机器,假设用户名为 test:
ssh -oPort=6000 test@x.x.x.x

ftp

ssh

参考教程