#!/bin/bash # 确保以 root 身份运行 if [ "$(id -u)" -ne 0 ]; then echo "请以 root 权限运行此脚本,或使用 sudo。" exit 1 fi # 检测虚拟化平台 if command -v systemd-detect-virt &> /dev/null; then VIRT_PLATFORM=$(systemd-detect-virt) if [ "$VIRT_PLATFORM" = "none" ]; then echo "未检测到虚拟化环境。" exit 1 fi else echo "无法找到 systemd-detect-virt,无法检测虚拟化平台。" exit 1 fi # 根据平台安装相应的 guest service case $VIRT_PLATFORM in microsoft) echo "检测到 Hyper-V 虚拟化环境。" apt update apt install -y linux-cloud-tools-$(uname -r) linux-tools-$(uname -r) ;; oracle) echo "检测到 VirtualBox 虚拟化环境。" apt update apt install -y virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11 ;; kvm) echo "检测到 KVM 虚拟化环境。" apt update apt install -y qemu-guest-agent ;; vmware) echo "检测到 VMware 虚拟化环境。" apt update apt install -y open-vm-tools ;; xen) echo "检测到 Xen 虚拟化环境。" apt update apt install -y xen-tools ;; *) echo "虚拟化平台 $VIRT_PLATFORM 未识别,或无需安装 guest service。" ;; esac # 设置时区为上海 timedatectl set-timezone Asia/Shanghai echo "时区已设置为 Asia/Shanghai。" # 执行常用配置,例如更新系统 apt update && apt upgrade -y echo "系统已更新,常用配置已应用。"