重新安装会先卸载
This commit is contained in:
82
install.sh
82
install.sh
@@ -131,6 +131,78 @@ show_build_alternatives() {
|
|||||||
echo ""
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 检查是否已安装
|
||||||
|
check_installed() {
|
||||||
|
# 检查服务文件是否存在
|
||||||
|
if [ -f "/etc/systemd/system/${SERVICE_NAME}.service" ]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
# 检查二进制文件是否存在
|
||||||
|
if [ -f "$INSTALL_DIR/$BINARY_NAME" ]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
# 检查源码目录是否存在
|
||||||
|
if [ -d "$SOURCE_DIR" ]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# 卸载已安装的服务
|
||||||
|
uninstall_service() {
|
||||||
|
echo -e "${BLUE}检测到已安装的服务,开始卸载...${NC}"
|
||||||
|
|
||||||
|
# 停止服务
|
||||||
|
if systemctl is-active --quiet ${SERVICE_NAME} 2>/dev/null; then
|
||||||
|
echo -e "${BLUE}停止服务...${NC}"
|
||||||
|
sudo systemctl stop ${SERVICE_NAME} 2>/dev/null || true
|
||||||
|
sleep 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 禁用服务
|
||||||
|
if systemctl is-enabled --quiet ${SERVICE_NAME} 2>/dev/null; then
|
||||||
|
echo -e "${BLUE}禁用服务...${NC}"
|
||||||
|
sudo systemctl disable ${SERVICE_NAME} 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 删除 systemd 服务文件
|
||||||
|
if [ -f "/etc/systemd/system/${SERVICE_NAME}.service" ]; then
|
||||||
|
echo -e "${BLUE}删除服务文件...${NC}"
|
||||||
|
sudo rm -f /etc/systemd/system/${SERVICE_NAME}.service
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 删除可能的 override 配置目录(包含 Environment 等配置)
|
||||||
|
if [ -d "/etc/systemd/system/${SERVICE_NAME}.service.d" ]; then
|
||||||
|
echo -e "${BLUE}删除服务配置目录...${NC}"
|
||||||
|
sudo rm -rf /etc/systemd/system/${SERVICE_NAME}.service.d
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 重新加载 systemd daemon
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
|
||||||
|
# 删除二进制文件
|
||||||
|
if [ -f "$INSTALL_DIR/$BINARY_NAME" ]; then
|
||||||
|
echo -e "${BLUE}删除二进制文件...${NC}"
|
||||||
|
sudo rm -f "$INSTALL_DIR/$BINARY_NAME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 删除源码目录
|
||||||
|
if [ -d "$SOURCE_DIR" ]; then
|
||||||
|
echo -e "${BLUE}删除源码目录...${NC}"
|
||||||
|
sudo rm -rf "$SOURCE_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 清理进程(如果还在运行)
|
||||||
|
if pgrep -f "$BINARY_NAME" > /dev/null 2>&1; then
|
||||||
|
echo -e "${BLUE}清理残留进程...${NC}"
|
||||||
|
sudo pkill -f "$BINARY_NAME" 2>/dev/null || true
|
||||||
|
sleep 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "${GREEN}✓ 卸载完成${NC}"
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
|
||||||
# 从源码编译安装
|
# 从源码编译安装
|
||||||
build_from_source() {
|
build_from_source() {
|
||||||
echo -e "${BLUE}从源码编译安装节点端...${NC}"
|
echo -e "${BLUE}从源码编译安装节点端...${NC}"
|
||||||
@@ -151,9 +223,9 @@ build_from_source() {
|
|||||||
|
|
||||||
echo -e "${BLUE}检测到 Go 版本: ${GO_VERSION}${NC}"
|
echo -e "${BLUE}检测到 Go 版本: ${GO_VERSION}${NC}"
|
||||||
|
|
||||||
# 如果源码目录已存在,先备份或删除
|
# 如果源码目录已存在,删除(卸载函数应该已经删除,这里作为保险)
|
||||||
if [ -d "$SOURCE_DIR" ]; then
|
if [ -d "$SOURCE_DIR" ]; then
|
||||||
echo -e "${YELLOW}源码目录已存在,将更新代码...${NC}"
|
echo -e "${YELLOW}清理旧的源码目录...${NC}"
|
||||||
sudo rm -rf "$SOURCE_DIR"
|
sudo rm -rf "$SOURCE_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -294,6 +366,12 @@ main() {
|
|||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
detect_system
|
detect_system
|
||||||
|
|
||||||
|
# 检查是否已安装,如果已安装则先卸载
|
||||||
|
if check_installed; then
|
||||||
|
uninstall_service
|
||||||
|
fi
|
||||||
|
|
||||||
install_dependencies
|
install_dependencies
|
||||||
build_from_source
|
build_from_source
|
||||||
create_service
|
create_service
|
||||||
|
|||||||
5
node.log
5
node.log
@@ -1,5 +0,0 @@
|
|||||||
{"level":"info","ts":1763025207.120181,"caller":"agent/main.go:35","msg":"节点服务启动","version":"1.0.0"}
|
|
||||||
{"level":"info","ts":1763025207.1208231,"caller":"server/http.go:60","msg":"HTTP服务器启动","addr":":2200"}
|
|
||||||
{"level":"info","ts":1763653448.720011,"caller":"agent/main.go:57","msg":"收到停止信号,正在关闭服务..."}
|
|
||||||
{"level":"fatal","ts":1763653448.720453,"caller":"agent/main.go:48","msg":"HTTP服务器启动失败","error":"http: Server closed","stacktrace":"main.main.func1\n\t/Users/yoyo/Desktop/newLinkMaster/node/cmd/agent/main.go:48"}
|
|
||||||
{"level":"info","ts":1763653448.720591,"caller":"agent/main.go:66","msg":"服务已关闭"}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user