mirror of
https://github.com/kxgx/2.13-Ink-screen-clock.git
synced 2026-05-12 02:35:04 +08:00
Update install.sh
优化运行逻辑
This commit is contained in:
158
bin/install.sh
158
bin/install.sh
@@ -6,8 +6,47 @@ if [ "$EUID" -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 语言环境设置
|
||||
DEFAULT_LANG="en_GB.UTF-8"
|
||||
# 默认语言环境
|
||||
DEFAULT_LANG="en_US.UTF-8"
|
||||
# 检查是否使用中国镜像源
|
||||
USE_CN_MIRROR=false
|
||||
# 控制调试输出
|
||||
DEBUG=false
|
||||
|
||||
# 解析命令行参数
|
||||
for arg in "$@"
|
||||
do
|
||||
case $arg in
|
||||
--cn)
|
||||
USE_CN_MIRROR=true
|
||||
shift # 移除当前参数
|
||||
;;
|
||||
--debug)
|
||||
DEBUG=true
|
||||
shift # 移除当前参数
|
||||
;;
|
||||
*)
|
||||
# 未知参数,可以在这里处理错误或忽略
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# 系统语言环境设置
|
||||
echo "请选择系统语言环境:"
|
||||
echo "1. 中文 (zh_CN.UTF-8)"
|
||||
echo "2. 英文 (en_US.UTF-8)"
|
||||
read -p "输入选项 (1/2): " lang_choice
|
||||
case $lang_choice in
|
||||
1)
|
||||
DEFAULT_LANG="zh_CN.UTF-8"
|
||||
;;
|
||||
2)
|
||||
DEFAULT_LANG="en_US.UTF-8"
|
||||
;;
|
||||
*)
|
||||
echo "无效的选项,将使用默认系统语言环境: $DEFAULT_LANG"
|
||||
;;
|
||||
esac
|
||||
export LANG=$DEFAULT_LANG
|
||||
export LC_ALL=$DEFAULT_LANG
|
||||
echo "$DEFAULT_LANG UTF-8" >> /etc/locale.gen
|
||||
@@ -25,54 +64,77 @@ else
|
||||
fi
|
||||
|
||||
# 定义链接变量
|
||||
DEBIAN_MIRROR="https://mirrors.cernet.edu.cn/debian/"
|
||||
DEBIAN_SECURITY_MIRROR="https://mirrors.cernet.edu.cn/debian-security"
|
||||
DEBIAN_MIRROR="http://deb.debian.org/debian/"
|
||||
DEBIAN_SECURITY_MIRROR="http://security.debian.org/"
|
||||
PI_SUGAR_POWER_MANAGER_URL="https://cdn.pisugar.com/release/pisugar-power-manager.sh"
|
||||
INK_SCREEN_CLOCK_REPO_URL="https://gitee.com/xingguangk/2.13-Ink-screen-clock.git"
|
||||
PIPY_MIRROR="https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
|
||||
PIPY_MIRROR="https://pypi.org/simple"
|
||||
|
||||
# Debian 11 (Bullseye) 相关命令
|
||||
UPDATE_SOURCES_LIST_BULLSEYE="sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak && sudo cat <<'EOF' > /etc/apt/sources.list
|
||||
deb $DEBIAN_MIRROR bullseye main contrib non-free
|
||||
# deb-src $DEBIAN_MIRROR bullseye main contrib non-free
|
||||
# 如果使用中国镜像源,则更新链接变量
|
||||
if [ "$USE_CN_MIRROR" = true ]; then
|
||||
DEBIAN_MIRROR="https://mirrors.cernet.edu.cn/debian/"
|
||||
DEBIAN_SECURITY_MIRROR="https://mirrors.cernet.edu.cn/debian-security"
|
||||
PIPY_MIRROR="https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
|
||||
fi
|
||||
|
||||
deb $DEBIAN_MIRROR bullseye-updates main contrib non-free
|
||||
# deb-src $DEBIAN_MIRROR bullseye-updates main contrib non-free
|
||||
# 更新源列表函数
|
||||
update_sources_list() {
|
||||
local version=$1
|
||||
if [ "$DEBUG" = true ]; then
|
||||
echo "正在更新版本 $version 的源列表"
|
||||
fi
|
||||
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
|
||||
sudo bash -c "cat <<EOF > /etc/apt/sources.list
|
||||
deb $DEBIAN_MIRROR $version main contrib non-free
|
||||
# deb-src $DEBIAN_MIRROR $version main contrib non-free
|
||||
|
||||
deb $DEBIAN_MIRROR bullseye-backports main contrib non-free
|
||||
# deb-src $DEBIAN_MIRROR bullseye-backports main contrib non-free
|
||||
deb $DEBIAN_MIRROR $version-updates main contrib non-free
|
||||
# deb-src $DEBIAN_MIRROR $version-updates main contrib non-free
|
||||
|
||||
deb $DEBIAN_SECURITY_MIRROR bullseye-security main contrib non-free
|
||||
# deb-src $DEBIAN_SECURITY_MIRROR bullseye-security main contrib non-free
|
||||
deb $DEBIAN_MIRROR $version-backports main contrib non-free
|
||||
# deb-src $DEBIAN_MIRROR $version-backports main contrib non-free
|
||||
|
||||
deb $DEBIAN_SECURITY_MIRROR $version-security main contrib non-free
|
||||
# deb-src $DEBIAN_SECURITY_MIRROR $version-security main contrib non-free
|
||||
EOF"
|
||||
INSTALL_PACKAGES_BULLSEYE="sudo apt-get update && sudo apt-get install -y git pigpio raspi-config netcat gawk python3-dev python3-pip python3-pil python3-numpy python3-gpiozero python3-pigpio build-essential"
|
||||
INSTALL_PIP_PACKAGES_BULLSEYE="sudo pip3 install -i $PIPY_MIRROR spidev borax pillow requests --break-system-packages"
|
||||
DOWNLOAD_AND_EXECUTE_BULLSEYE="wget $PI_SUGAR_POWER_MANAGER_URL && bash pisugar-power-manager.sh -c release"
|
||||
CLONE_AND_EXECUTE_BULLSEYE="cd ~ && git clone $INK_SCREEN_CLOCK_REPO_URL && cd ~/2.13-Ink-screen-clock/bin/ && sudo chmod +x start.sh && sudo ./start.sh"
|
||||
}
|
||||
|
||||
# Debian 12 (Bookworm) 相关命令
|
||||
UPDATE_SOURCES_LIST_BOOKWORM="sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak && sudo cat <<'EOF' > /etc/apt/sources.list
|
||||
deb $DEBIAN_MIRROR bookworm main contrib non-free non-free-firmware
|
||||
# deb-src $DEBIAN_MIRROR bookworm main contrib non-free non-free-firmware
|
||||
# 安装包函数
|
||||
install_packages() {
|
||||
if [ "$DEBUG" = true ]; then
|
||||
echo "正在安装软件包..."
|
||||
fi
|
||||
sudo apt-get update && sudo apt-get install -y git pigpio raspi-config netcat gawk python3-dev python3-pip python3-pil python3-numpy python3-gpiozero python3-pigpio build-essential
|
||||
}
|
||||
|
||||
deb $DEBIAN_MIRROR bookworm-updates main contrib non-free non-free-firmware
|
||||
# deb-src $DEBIAN_MIRROR bookworm-updates main contrib non-free non-free-firmware
|
||||
# 安装pip包函数
|
||||
install_pip_packages() {
|
||||
if [ "$DEBUG" = true ]; then
|
||||
echo "正在安装pip软件包..."
|
||||
fi
|
||||
sudo pip3 install -i $PIPY_MIRROR spidev borax pillow requests --break-system-packages
|
||||
}
|
||||
|
||||
deb $DEBIAN_MIRROR bookworm-backports main contrib non-free non-free-firmware
|
||||
# deb-src $DEBIAN_MIRROR bookworm-backports main contrib non-free non-free-firmware
|
||||
# 下载并执行脚本函数
|
||||
download_and_execute() {
|
||||
if [ "$DEBUG" = true ]; then
|
||||
echo "正在下载并执行pisugar电源管理脚本..."
|
||||
fi
|
||||
wget $PI_SUGAR_POWER_MANAGER_URL && bash pisugar-power-manager.sh -c release
|
||||
}
|
||||
|
||||
deb $DEBIAN_SECURITY_MIRROR bookworm-security main contrib non-free non-free-firmware
|
||||
# deb-src $DEBIAN_SECURITY_MIRROR bookworm-security main contrib non-free non-free-firmware
|
||||
EOF"
|
||||
INSTALL_PACKAGES_BOOKWORM="sudo apt-get update && sudo apt-get install -y git pigpio raspi-config netcat gawk python3-dev python3-pip python3-pil python3-numpy python3-gpiozero python3-pigpio build-essential"
|
||||
INSTALL_PIP_PACKAGES_BOOKWORM="sudo pip3 install -i $PIPY_MIRROR spidev borax pillow requests --break-system-packages"
|
||||
DOWNLOAD_AND_EXECUTE_BOOKWORM="wget $PI_SUGAR_POWER_MANAGER_URL && bash pisugar-power-manager.sh -c release"
|
||||
CLONE_AND_EXECUTE_BOOKWORM="cd ~ && git clone $INK_SCREEN_CLOCK_REPO_URL && cd ~/2.13-Ink-screen-clock/bin/ && sudo chmod +x start.sh && sudo ./start.sh"
|
||||
# 克隆并执行脚本函数
|
||||
clone_and_execute() {
|
||||
if [ "$DEBUG" = true ]; then
|
||||
echo "正在克隆并执行墨水屏时钟仓库..."
|
||||
fi
|
||||
cd ~ && git clone $INK_SCREEN_CLOCK_REPO_URL && cd ~/2.13-Ink-screen-clock/bin/ && sudo chmod +x start.sh && sudo ./start.sh
|
||||
}
|
||||
|
||||
# 主逻辑
|
||||
# 检测是否是Debian系统
|
||||
if [ -f /etc/debian_version ]; then
|
||||
echo "检测到Debian系统。"
|
||||
echo "检测到Debian系统"
|
||||
|
||||
# 提取版本号的小数点前的部分
|
||||
MAJOR_VERSION=$(echo $DEBIAN_VERSION | cut -d '.' -f 1)
|
||||
@@ -85,19 +147,19 @@ if [ -f /etc/debian_version ]; then
|
||||
case "$MAJOR_VERSION" in
|
||||
11)
|
||||
echo "执行Debian 11 (Bullseye) 相关操作"
|
||||
eval $UPDATE_SOURCES_LIST_BULLSEYE
|
||||
eval $INSTALL_PACKAGES_BULLSEYE
|
||||
eval $INSTALL_PIP_PACKAGES_BULLSEYE
|
||||
eval $DOWNLOAD_AND_EXECUTE_BULLSEYE
|
||||
eval $CLONE_AND_EXECUTE_BULLSEYE
|
||||
update_sources_list "bullseye"
|
||||
install_packages
|
||||
install_pip_packages
|
||||
download_and_execute
|
||||
clone_and_execute
|
||||
;;
|
||||
12)
|
||||
echo "执行Debian 12 (Bookworm) 相关操作"
|
||||
eval $UPDATE_SOURCES_LIST_BOOKWORM
|
||||
eval $INSTALL_PACKAGES_BOOKWORM
|
||||
eval $INSTALL_PIP_PACKAGES_BOOKWORM
|
||||
eval $DOWNLOAD_AND_EXECUTE_BOOKWORM
|
||||
eval $CLONE_AND_EXECUTE_BOOKWORM
|
||||
update_sources_list "bookworm"
|
||||
install_packages
|
||||
install_pip_packages
|
||||
download_and_execute
|
||||
clone_and_execute
|
||||
;;
|
||||
*)
|
||||
echo "未知的Debian版本: $MAJOR_VERSION"
|
||||
@@ -105,10 +167,10 @@ if [ -f /etc/debian_version ]; then
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo "这不是Raspberry Pi系统。"
|
||||
echo "这不是Raspberry Pi系统"
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
echo "这不是一个Debian系统。"
|
||||
echo "这不是Debian系统"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user