标签搜索

目 录CONTENT

文章目录

termux安装部署以及qemu的使用

陈铭
2023-02-20 / 0 评论 / 2 点赞 / 655 阅读 / 1,178 字 / 正在检测是否收录...

下载apk

下载地址

储存空间赋权

手机会弹窗赋权,选择赋予权力就行。这样termux可以访问到整个手机的储存空间

termux-setup-storage

部署脚本

ssh

开启sshd后,curl命令就出问题了,后面换源下,apt upgrade -y就行了

# 开启ssh
pkg install wget git openssl openssh proot-y
# 修改密码
passwd

# 开启ssh服务自启
vim ~/.bashrc
# 内容如下
sshd
alias ll='ls -l'

apt换源

# apt换源
# 空格键选择、回车键确认、请选择清华源
termux-change-repo
# 更新所有apt依赖
apt update
apt upgrade -y

安装python和java

# 安装python和java
pkg install python openjdk-17 -y

启动虚机

国光脚本方式(没qemu强大)

安装虚机

# 安装模拟虚拟机脚本
git clone https://github.com/sqlsec/termux-install-linux 
# 安装虚机脚本
python termux-install-linux/termux-linux-install.py

启停虚机

如果安装了centos虚机

# 拷贝脚本
cp ~/termux-install-linux/centos/start-centos.sh ~/Termux-Linux/CentOS/start-centos.sh
# 启动centos虚机
~/Termux-Linux/CentOS/start-centos.sh

# 关闭虚机:进入虚机后键入exit

qemu方式

安装虚机

官网下载镜像,这边用了mini镜像:CentOS-7-x86_64-Minimal-2009.iso

# 安装qemu
pkg install x11-repo
pkg update
pkg search qemu
pkg install qemu-common qemu-system-x86-64 qemu-utils -y
qemu-system-x86_64 --version

# 生成镜像文件
cd ~
mkdir -p qemu/img
mkdir -p qemu/iso
rm -rf ~/qemu/img/CentOS.img
qemu-img create -f qcow2 ~/qemu/img/CentOS.img 10G

# 上传iso
# scp或者sftp都行,传到~/qemu/iso/CentOS-7-x86_64-Minimal-2009.iso

# 启动一个centos7的kvm虚机
# -name 设置虚拟机名称
# -m 指定虚拟机内存大小
# -smp 设置虚拟机CPU数
# -cpu 选择CPU
# -hda 选择使用*.qcow2 作为IDE硬盘镜像
# -cdrom 选择使用*.iso作为cdrom安装镜像
# -boot 选择启动类型: floppy (a), hard disk (c), CD-ROM (d), network (n)
# -enable-kvm 使能KVM支持:enable KVM full virtualization support
# -netdev 配置主机的虚拟网卡:configure a host TAP network backend with ID ‘str’
# -device 配置虚拟机的网卡类型
# -vnc 配置VNC端口
# -display vnc:vnc模式输出画面,其中:1~:10 对应vnc端口 5901~5910
qemu-system-x86_64 \
-hda ~/qemu/img/CentOS.img \
-cdrom ~/qemu/iso/CentOS-7-x86_64-Minimal-2009.iso \
-m 2048 \
-netdev user,id=user.0 \
-device rtl8139,netdev=user.0 \
-vga vmware \
-display vnc=:10

# 或者在手机上开启”允许termux后台高耗电“
# 那么就可以手机就可以息屏了,termux不会被暂停
# 然后虚机的安装就放在后台执行
nohup qemu-system-x86_64 \
-hda ~/qemu/img/CentOS.img \
-cdrom ~/qemu/iso/CentOS-7-x86_64-Minimal-2009.iso \
-m 2048 \
-netdev user,id=user.0 \
-device rtl8139,netdev=user.0 \
-vga vmware \
-display vnc=:10 > /dev/null 2> /dev/null &

这个iso需要安装,咱们用VNC View连接
image-1676880893466
一步一步安装下去
image-1676880908289

启停虚机

开启虚机(直接启动)

# 启动刚刚创建的centos虚机
qemu-system-x86_64 -smp 8 \
-m 2048 \
-hda ~/qemu/img/CentOS.img  \
-boot c -netdev user,id=user.0 \
-device rtl8139,netdev=user.0 \
-vga vmware -display vnc=:10

开启虚机(端口转发)

# 或者配置端口转发,启动虚机
# net=192.168.31.0/24 :配置网关地址/子网掩码
# host=192.168.31.2 :配置主机地址
# hostname=qemu :配置主机名称
# dns=192.168.31.56 :创建一个dns服务器
# tftp=~/output,bootfile=/linux_kernel/Image:创建一个tftp服务器
# dhcpstart=192.168.31.100:dhcp地址分配起始地址
# hostfwd=tcp::3522-:22:端口转发将客户机的22端口转发到宿主机的3522

# 实例:
# -netdev user,net=192.168.31.0/24,host=192.168.31.2,hostname=qemu,dns=192.168.31.56,tftp=$SHELL_FOLDER/output,bootfile=/linux_kernel/Image,dhcpstart=192.168.31.100,hostfwd=tcp::3522-:22,hostfwd=tcp::3580-:80,id=net0

# 此处转发的ip要写清楚
qemu-system-x86_64 -smp 8 \
-m 2048 \
-hda ~/qemu/img/CentOS.img  \
-boot c \
-netdev user,net=192.168.31.0/24,dhcpstart=192.168.31.100,hostname=termux_qemu_centos7,hostfwd=tcp:192.168.1.225:3022-:22,hostfwd=tcp:192.168.1.225:3080-:80,id=user.0 \
-device rtl8139,netdev=user.0 \
-vga vmware -display vnc=:10


# 可以在宿主机(termux环境下)进行ssh
ssh -p 3022 root@192.168.1.225

关闭虚机,可以在termux端直接杀进程或者ctrl+c,或者进到虚机内正常关机

# 进入到虚机内
poweroff

备份与恢复

# 备份脚本
nano my_backup.sh
# 内容如下
echo "========赋权========="
chmod -R  777 /data/data/com.termux/files/home/Termux-Linux
echo "========删除旧备份========="
rm -rf /sdcard/termux-backup.tar.gz
echo "========开始备份========="
cd /data/data/com.termux/files
tar -zcf /sdcard/termux-backup.tar.gz home usr

# 恢复脚本
nano my_recover.sh
# 内容如下
FILE=/sdcard/termux-backup.tar.gz
if [ ! -f "$FILE" ]; then
    echo "$FILE does not exist"
else
    cd /data/data/com.termux/files
    tar -zxf $FILE --recursive-unlink --preserve-permissions
fi
2

评论区