VMware Tools工具安装脚本(CentOS & Ubuntu)

1、VMware Tools(CentOS版)

bash 复制代码
#!/bin/bash

log_info() {
echo "[INFO] $1"
echo "[INFO] $1" >> "$LOGFILE"
}

log_error() {
echo "[ERROR] $1"
echo "[ERROR] $1" >> "$LOGFILE"
exit 1
}

# log to record install process
LOGFILE="/var/log/env-script.log"

mkdir -p /mnt/cdrom || log_error "Failed to create mount point"

chmod 777 /dev/sr0 || log_error "Failed to set CD-ROM permissions"

mount -t iso9660 /dev/sr0 /mnt/cdrom || log_error "Failed to mount ISO image"

cp /mnt/cdrom/VMwareTools-10.3.25-20206839.tar.gz /usr/local/src || log_error "Failed to copy VMware Tools package"

cd /usr/local/src || log_error "Cannot enter extraction directory"
tar -xf VMwareTools-10.3.25-20206839.tar.gz || log_error "Failed to extract VMware Tools package"

cd vmware-tools-distrib || log_error "Cannot enter vmware-tools-distrib directory"

yum install -y perl || log_error "Failed to install Perl dependency"

echo -e "y\n" | ./vmware-install.pl || log_error "Failed to execute VMware Tools installation script"

chmod 660 /dev/sr0 || log_error "Failed to reset CD-ROM permissions"

# recoard success information
log_info "All steps completed."
echo "All steps completed." >> "$LOGFILE"

2、VMware Tools(Ubuntu版)

bash 复制代码
#!/bin/bash

log_info() {
echo "[INFO] $1"
echo "[INFO] $1" >> "$LOGFILE"
}

log_error() {
echo "[ERROR] $1"
echo "[ERROR] $1" >> "$LOGFILE"
exit 1
}

# Log file to record install process
LOGFILE="/var/log/env-script.log"

# Create mount point if it doesn't exist
mkdir -p /mnt/cdrom || log_error "Failed to create mount point"

# Set CD-ROM permissions
chmod 777 /dev/cdrom || log_error "Failed to set CD-ROM permissions"

# Mount the ISO image
mount -t iso9660 /dev/cdrom /mnt/cdrom || log_error "Failed to mount ISO image"

# Copy VMware Tools package
cp /mnt/cdrom/VMwareTools-10.3.25-20206839.tar.gz /usr/local/src || log_error "Failed to copy VMware Tools package"

# Change to the extraction directory
cd /usr/local/src || log_error "Cannot enter extraction directory"

# Extract VMware Tools package
tar -xf VMwareTools-10.3.25-20206839.tar.gz || log_error "Failed to extract VMware Tools package"

# Change to the extracted directory
cd vmware-tools-distrib || log_error "Cannot enter vmware-tools-distrib directory"

# Install Perl dependency
apt-get update || log_error "Failed to update package list"
apt-get install -y perl || log_error "Failed to install Perl dependency"

# Execute VMware Tools installation script
echo -e "y\n" | ./vmware-install.pl || log_error "Failed to execute VMware Tools installation script"

# Reset CD-ROM permissions
chmod 660 /dev/cdrom || log_error "Failed to reset CD-ROM permissions"

# Record success information
log_info "All steps completed."
echo "All steps completed." >> "$LOGFILE"
相关推荐
hexu_blog3 小时前
Linux centos 安装向量数据库milvus
linux·centos·milvus
code monkey.4 小时前
【Linux之旅】Linux 应用层自定义协议与序列化:从粘包问题到网络计算器
linux·网络·c++
草莓熊Lotso4 小时前
【Linux网络】深入理解 HTTP 协议(二):从协议格式到手写工业级 HTTP 服务器
linux·运维·服务器·网络·c++·http
剑神一笑10 小时前
Linux pgrep 命令详解:按名称查找进程 PID 的高效方法
linux·运维·chrome
剑神一笑11 小时前
Linux killall 命令详解:按进程名批量终止进程的原理与实践
linux·运维·chrome
日取其半万世不竭15 小时前
iftop、nethogs 和 nload:Linux 服务器网络流量实时监控工具介绍
linux·运维·服务器
mounter62515 小时前
Linux 内核资源管理:控制组(cgroup)的演进与“策略组”新提案
linux·运维·服务器·cgroup·kernel
bksczm15 小时前
文件在磁盘中的存储方式
linux·运维·服务器
L16247615 小时前
OpenSSH 半自动升级方案(独立编译 + 手动迁移 + 重建 systemd 服务)
linux·服务器·ssh
半旧夜夏15 小时前
【保姆级】微服务组件环境搭建(Docker Compose版)
java·linux·spring cloud·微服务·云原生·容器