1 Star 2 Fork 0

Arc图一多/termux-install-Ubuntu

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Ubuntu.sh 4.88 KB
一键复制 编辑 原始数据 按行查看 历史
Arc图一多 提交于 2023-06-06 04:49 . update Ubuntu.sh.
#!/data/data/com.termux/files/usr/bin/bash
ubuntu_version=""
# 将 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
cd $HOME
# 更新 Termux 软件包列表并升级已安装的软件包
pkg update -y && pkg upgrade -y
# 安装必要的软件包
pkg install proot git axel openssl-tool openssh screenfetch net-tools -y
#设置termux的root密码
#询问用户是否要设置SSH的
# 下载启动脚本和软件源列表
curl -sL https://gitee.com/Liplay-1/termux-install-ubuntu/raw/master/start.sh > $HOME/start.sh
echo "是否要开启SSH服务?(y/n)"
read -p "> " ssh
if [ $ssh = "y" ]; then
pkg install net-tools -y
ip_addr=$(ifconfig | grep 'wlan0' -A 1 | grep 'inet ' | awk '{print $2}' | head -1)
echo "设置termux的root密码"
passwd root
#启动sshd
sshd
echo "OpenSSH服务已启动!"
#访问地址
echo "访问地址: $ip_addr:8022"
echo "用户名: root"
echo "密码: 你刚刚设置的密码"
echo "sshd" > $HOME/.bashrc
elif [ $ssh = "n" ]; then
echo "SSH服务未开启!"
else
echo "无操作"
fi
#判断是否已经安装了,安装询问用户是否重新安装
if [ -d "$HOME/ubuntu-fs" ]; then
echo "检测到已安装 Ubuntu,是否重新安装?"
echo "1) 重新安装"
echo "2) 退出脚本"
read -p "> " reinstall
case $reinstall in
1)
# 删除已安装的 Ubuntu 文件系统
rm -rf $HOME/ubuntu-fs
;;
2)
# 退出脚本
exit 0
;;
*)
# 如果用户输入了无效的选项,则退出脚本
echo "无效的选项,退出脚本。"
exit 1
;;
esac
fi
# 选择要安装的 Ubuntu 版本
echo "请选择要安装的 Ubuntu 版本:"
echo "1) Ubuntu 18.04"
echo "2) Ubuntu 20.04"
echo "3) Ubuntu 22.04"
read -p "> " version
case $version in
1)
# 下载 Ubuntu 18.04 基础镜像
ubuntu_version="bionic"
axel -n 12 -o ubuntu-base-18.04-base-arm64.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/18.04/release/ubuntu-base-18.04.5-base-arm64.tar.gz
;;
2)
# 下载 Ubuntu 20.04 基础镜像
ubuntu_version="focal"
axel -n 12 -o ubuntu-base-20.04-base-arm64.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/20.04/release/ubuntu-base-20.04.5-base-arm64.tar.gz
;;
3)
# 下载 Ubuntu 22.04 基础镜像
ubuntu_version="impish"
axel -n 12 -o ubuntu-base-22.04-base-arm64.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/22.04/release/ubuntu-base-22.04-base-arm64.tar.gz
;;
*)
# 如果用户输入了无效的选项,则退出脚本
echo "无效的选项,退出脚本。"
exit 1
;;
esac
# 解压 Ubuntu 基础镜像
mkdir -p $HOME/ubuntu-fs/binds
proot --link2symlink tar -xf $HOME/ubuntu-base-*base-arm64.tar.gz -C $HOME/ubuntu-fs --exclude='dev'
# 创建 resolv.conf 文件
echo "nameserver 1.1.1.1" >> $HOME/ubuntu-fs/etc/resolv.conf
echo "正在创建 stub 文件,请稍候..."
stubs=("usr/bin/groups")
for f in "${stubs[@]}"; do
echo -e "#!/bin/sh\nexit" > "$HOME/ubuntu-fs/$f"
done
echo "所有 stub 文件均已成功创建!"
# 删除已下载的 Ubuntu 基础镜像
rm -f $HOME/ubuntu-base-*base-arm64.tar.gz
#配置Ubuntu各版本的软件源
# 判断 Ubuntu 版本并配置软件源
#/data/data/com.termux/files/home/ubuntu-fs/etc/apt/sources.list
# $HOME/ubuntu-fs/etc/apt/sources.list
function config_ubuntu_source() {
echo "deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ $ubuntu_version main restricted universe multiverse" > $HOME/ubuntu-fs/etc/apt/sources.list
echo "deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ $ubuntu_version-updates main restricted universe multiverse" >> $HOME/ubuntu-fs/etc/apt/sources.list
echo "deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ $ubuntu_version-backports main restricted universe multiverse" >> $HOME/ubuntu-fs/etc/apt/sources.list
echo "deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ $ubuntu_version-security main restricted universe multiverse" >> $HOME/ubuntu-fs/etc/apt/sources.list
}
function source_list() {
#判断Ubuntu版本
if [ $ubuntu_version = "bionic" ]; then
config_ubuntu_source
elif [ $ubuntu_version = "focal" ]; then
config_ubuntu_source
elif [ $ubuntu_version = "impish" ]; then
echo "Ubuntu 22.04 尚未支持!"
fi
}
# source_list
# 修复启动脚本中的 shebang 行并添加可执行权限
termux-fix-shebang $HOME/start.sh
chmod +x $HOME/start.sh
# 显示系统信息
screenfetch -A Ubuntu -L
# 将启动命令添加到 .bashrc 文件中
echo "bash ~/start.sh" >> $HOME/.bashrc
rm -f $HOME/Ubuntu.sh
bash
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Shell
1
https://gitee.com/Liplay-1/termux-install-ubuntu.git
git@gitee.com:Liplay-1/termux-install-ubuntu.git
Liplay-1
termux-install-ubuntu
termux-install-Ubuntu
master

搜索帮助