diff --git a/install.sh b/install.sh index 209214d..f98f4cc 100755 --- a/install.sh +++ b/install.sh @@ -239,10 +239,14 @@ build_from_source() { fi # 设置目录权限 - sudo chown -R $USER:$USER "$SOURCE_DIR" 2>/dev/null || true + sudo chown -R root:root "$SOURCE_DIR" 2>/dev/null || true cd "$SOURCE_DIR" + # 配置 Git safe.directory,解决所有权问题 + sudo git config --global --add safe.directory "$SOURCE_DIR" 2>/dev/null || true + git config --global --add safe.directory "$SOURCE_DIR" 2>/dev/null || true + # 下载依赖 echo -e "${BLUE}下载 Go 依赖...${NC}" if ! go mod download 2>&1; then @@ -254,7 +258,7 @@ build_from_source() { # 编译 echo -e "${BLUE}编译二进制文件...${NC}" BINARY_PATH="$SOURCE_DIR/agent" - if GOOS=linux GOARCH=${ARCH} CGO_ENABLED=0 go build -ldflags="-w -s" -o "$BINARY_PATH" ./cmd/agent 2>&1; then + if GOOS=linux GOARCH=${ARCH} CGO_ENABLED=0 go build -buildvcs=false -ldflags="-w -s" -o "$BINARY_PATH" ./cmd/agent 2>&1; then if [ -f "$BINARY_PATH" ] && [ -s "$BINARY_PATH" ]; then echo -e "${GREEN}✓ 编译成功${NC}" else diff --git a/run.sh b/run.sh index 950faf1..ff10ea1 100755 --- a/run.sh +++ b/run.sh @@ -49,6 +49,10 @@ update_and_build() { return 0 fi + # 配置 Git safe.directory,解决所有权问题 + CURRENT_DIR=$(pwd) + git config --global --add safe.directory "$CURRENT_DIR" 2>/dev/null || true + # 拉取最新代码 if git pull 2>&1; then echo -e "${GREEN}✓ 代码更新完成${NC}" @@ -87,7 +91,7 @@ update_and_build() { ;; esac - if GOOS=linux GOARCH=${ARCH} CGO_ENABLED=0 go build -ldflags="-w -s" -o "$BINARY_NAME" ./cmd/agent 2>&1; then + if GOOS=linux GOARCH=${ARCH} CGO_ENABLED=0 go build -buildvcs=false -ldflags="-w -s" -o "$BINARY_NAME" ./cmd/agent 2>&1; then if [ -f "$BINARY_NAME" ] && [ -s "$BINARY_NAME" ]; then chmod +x "$BINARY_NAME" echo -e "${GREEN}✓ 编译成功${NC}"