要通过脚本自动化MinIO安装,您可以使用Shell脚本或Python脚本来完成。以下是两种语言的脚本示例:
#!/bin/bash
# 检查是否以 root 用户运行
if [ "$EUID" -ne 0 ]; then
echo "请以 root 用户运行此脚本。"
exit 1
fi
# 安装必要的依赖
echo "安装依赖..."
apt-get update && apt-get install -y wget || yum install -y wget
# 定义 MinIO 版本和安装路径
MINIO_VERSION="RELEASE.2023-09-19T21-14-04Z"
MINIO_URL="https://dl.min.io/server/minio/release/linux-amd64/archive/minio.${MINIO_VERSION}"
# 创建 MinIO 安装目录
mkdir -p /usr/local/bin
# 下载并安装 MinIO
echo "下载并安装 MinIO..."
wget -q -O /usr/local/bin/minio $MINIO_URL
chmod +x /usr/local/bin/minio
# 创建 MinIO 数据目录
mkdir -p /usr/local/share/minio
# 设置环境变量
ACCESS_KEY="minioadmin"
SECRET_KEY="minioadmin"
# 创建 MinIO systemd service 文件
cat <<EOL > /etc/systemd/system/minio.service
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
Environment="MINIO_ACCESS_KEY=${ACCESS_KEY}"
Environment="MINIO_SECRET_KEY=${SECRET_KEY}"
ExecStart=/usr/local/bin/minio server /usr/local/share/minio
Restart=always
EOL
# 重新加载 systemd 配置并启动 MinIO 服务
systemctl daemon-reload
systemctl start minio
systemctl enable minio
import os
import subprocess
# 检查是否以 root 用户运行
if os.geteuid() != 0:
print("请以 root 用户运行此脚本。")
exit(1)
# 安装必要的依赖
subprocess.run(["apt-get", "update"] + (["yum", "install", "-y", "wget"] if os.path.exists("/etc/yum.repos.d/CentOS-Base.repo") else ["yum", "install", "-y", "wget"]))
# 定义 MinIO 版本和安装路径
minio_version = "RELEASE.2023-09-19T21-14-04Z"
minio_url = f"https://dl.min.io/server/minio/release/linux-amd64/archive/minio.{minio_version}"
# 创建 MinIO 安装目录
os.makedirs("/usr/local/bin", exist_ok=True)
# 下载并安装 MinIO
subprocess.run(["wget", "-q", "-O", "/usr/local/bin/minio", minio_url])
os.chmod("/usr/local/bin/minio", 0o755)
# 创建 MinIO 数据目录
os.makedirs("/usr/local/share/minio", exist_ok=True)
# 设置环境变量
access_key = "minioadmin"
secret_key = "minioadmin"
# 创建 MinIO systemd service 文件
with open("/etc/systemd/system/minio.service", "w") as f:
f.write("""[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
Environment="MINIO_ACCESS_KEY=%s"
Environment="MINIO_SECRET_KEY=%s"
ExecStart=/usr/local/bin/minio server /usr/local/share/minio
Restart=always
""" % (access_key, secret_key))
# 重新加载 systemd 配置并启动 MinIO 服务
subprocess.run(["systemctl", "daemon-reload"])
subprocess.run(["systemctl", "start", "minio"])
subprocess.run(["systemctl", "enable", "minio"])
请注意,这些脚本假设您正在使用基于Debian的系统(如Ubuntu)或基于Red Hat的系统(如CentOS)。如果您使用的是其他Linux发行版,可能需要调整依赖安装部分。此外,确保在运行脚本之前已经安装了必要的权限和工具。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Linux中如何设置和管理多个用户登录会话