Initial commit

This commit is contained in:
2025-06-26 11:28:55 +08:00
commit e11c59cdc2
167 changed files with 6029 additions and 0 deletions

104
install.sh Normal file
View File

@@ -0,0 +1,104 @@
#!/usr/bin/env bash
# 定义错误处理函数
handle_error() {
echo "错误:$1"
exit 1
}
# 检查是否提供了参数
if [ $# -eq 0 ]; then
handle_error "请提供包名作为参数\n用法: $0 <包名>"
fi
# 获取传入的包名参数
PACKAGE_NAME="$1"
# 检查文件是否存在
if [ ! -f "$PACKAGE_NAME" ]; then
handle_error "文件 '$PACKAGE_NAME' 不存在"
fi
# 检查文件权限
if [ ! -r "$PACKAGE_NAME" ]; then
handle_error "没有读取文件 '$PACKAGE_NAME' 的权限"
fi
# 检查是否具有sudo权限
if ! sudo -v &>/dev/null; then
handle_error "没有sudo权限请确保您有足够的权限执行此脚本"
fi
## 关闭旧应用进程
#echo "正在关闭旧应用进程..."
#PIDS=$(pgrep -f market-manager-gui)
#if [ -z "$PIDS" ]; then
# echo "没有找到正在运行的应用进程"
#else
# echo "找到正在运行的应用进程: $PIDS"
# for PID in $PIDS; do
# echo "尝试终止进程 ID: $PID"
# if ! sudo kill -TERM "$PID"; then
# echo "警告:尝试终止进程 ID $PID 时出错"
# else
# echo "已发送终止信号给进程 ID: $PID"
# fi
# done
#fi
#
## 等待进程完全关闭
#echo "等待进程关闭..."
#sleep 2
# 检查是否还有残留进程
#PIDS=$(pgrep -f market-manager-gui)
#if [ -z "$PIDS" ]; then
# echo "所有进程已关闭"
#else
# echo "警告:仍有进程在运行,尝试强制关闭..."
# for PID in $PIDS; do
# echo "尝试强制终止进程 ID: $PID"
# if ! sudo kill -KILL "$PID"; then
# echo "警告:强制终止进程 ID $PID 时出错"
# else
# echo "已强制终止进程 ID: $PID"
# fi
# done
# sleep 1
#fi
# 先卸载旧版本
echo "正在卸载旧版本..."
if ! sudo dpkg -r market-manager-gui; then
echo "警告:卸载旧版本失败,可能未安装"
fi
# 清理APT缓存以防止冲突
echo "清理APT缓存..."
sudo apt-get clean
# 安装新版本
echo "正在安装 $PACKAGE_NAME..."
if ! sudo dpkg -i "$PACKAGE_NAME"; then
echo "安装失败,尝试修复依赖..."
if ! sudo apt-get install -f -y; then
handle_error "安装失败且无法修复依赖"
fi
# 再次清理APT缓存
sudo apt-get clean
echo "修复完成,重新尝试安装..."
if ! sudo dpkg -i "$PACKAGE_NAME"; then
handle_error "安装最终失败"
fi
fi
# 添加调试信息
echo "检查安装状态..."
dpkg -l | grep market-manager-gui
# 确保脚本执行完成
echo "安装过程完成"
exit 0