Ubuntu 上 MinIO 安装脚本使用指南
一 脚本选型与准备
二 一键安装脚本 APT 仓库版
#!/usr/bin/env bash
set -Eeuo pipefail
# ======= 用户可配置项 =======
MINIO_ROOT_USER="${MINIO_ROOT_USER:-admin}"
MINIO_ROOT_PASSWORD="${MINIO_ROOT_PASSWORD:-YourStrongP@ssw0rd}"
MINIO_DATA_DIR="${MINIO_DATA_DIR:-/data/minio}"
MINIO_CONFIG_DIR="${MINIO_CONFIG_DIR:-/etc/minio}"
MINIO_PORT="${MINIO_PORT:-9000}"
MINIO_CONSOLE_PORT="${MINIO_CONSOLE_PORT:-9001}"
# ============================
if [ "$(id -u)" -ne 0 ]; then
echo "请使用 root 或 sudo 执行此脚本。"
exit 1
fi
echo "1) 安装依赖..."
apt-get update
apt-get install -y --no-install-recommends \
wget curl gnupg2 lsb-release ca-certificates
echo "2) 导入 MinIO GPG 密钥并添加 APT 仓库..."
wget -qO - https://dl.min.io/server/minio/release/linux-amd64/minio-release.gpg.key \
| gpg --dearmor | tee /usr/share/keyrings/minio-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/minio-archive-keyring.gpg] https://dl.min.io/server/minio/release/ubuntu/ $(lsb_release -sc) main" \
| tee /etc/apt/sources.list.d/minio.list >/dev/null
apt-get update
apt-get install -y minio
echo "3) 创建系统用户与目录..."
groupadd -r minio 2>/dev/null || true
id -u minio &>/dev/null || useradd -r -g minio -s /usr/sbin/nologin minio
mkdir -p "$MINIO_DATA_DIR" "$MINIO_CONFIG_DIR"
chown -R minio:minio "$MINIO_DATA_DIR" "$MINIO_CONFIG_DIR"
chmod 750 "$MINIO_DATA_DIR" "$MINIO_CONFIG_DIR"
echo "4) 写入环境变量文件 /etc/default/minio ..."
cat >/etc/default/minio <<EOF
MINIO_ROOT_USER=$MINIO_ROOT_USER
MINIO_ROOT_PASSWORD=$MINIO_ROOT_PASSWORD
MINIO_VOLUMES="$MINIO_DATA_DIR"
MINIO_OPTS="--address :$MINIO_PORT --console-address :$MINIO_CONSOLE_PORT"
EOF
echo "5) 注册并启动 systemd 服务..."
systemctl daemon-reload
systemctl enable --now minio
echo "✅ 安装完成:"
echo " 数据目录:$MINIO_DATA_DIR"
echo " 配置目录:$MINIO_CONFIG_DIR"
echo " 控制台地址:http://$(hostname -I | awk '{print $1}'):$MINIO_CONSOLE_PORT"
echo " 默认账号:$MINIO_ROOT_USER"
echo " 请使用强密码并尽快修改默认凭据。"
三 一键安装脚本 二进制版
#!/usr/bin/env bash
set -Eeuo pipefail
# ======= 用户可配置项 =======
MINIO_ROOT_USER="${MINIO_ROOT_USER:-admin}"
MINIO_ROOT_PASSWORD="${MINIO_ROOT_PASSWORD:-YourStrongP@ssw0rd}"
MINIO_BIN_DIR="${MINIO_BIN_DIR:-/usr/local/bin}"
MINIO_DATA_DIR="${MINIO_DATA_DIR:-/data/minio}"
MINIO_CONFIG_DIR="${MINIO_CONFIG_DIR:-/etc/minio}"
MINIO_PORT="${MINIO_PORT:-9000}"
MINIO_CONSOLE_PORT="${MINIO_CONSOLE_PORT:-9001}"
MINIO_VERSION="${MINIO_VERSION:-RELEASE.2025-04-22T22-12-19Z}" # 按需调整版本
# ============================
if [ "$(id -u)" -ne 0 ]; then
echo "请使用 root 或 sudo 执行此脚本。"
exit 1
fi
echo "1) 安装依赖..."
apt-get update
apt-get install -y --no-install-recommends wget curl ca-certificates
echo "2) 创建系统用户与目录..."
groupadd -r minio 2>/dev/null || true
id -u minio &>/dev/null || useradd -r -g minio -s /usr/sbin/nologin minio
mkdir -p "$MINIO_DATA_DIR" "$MINIO_CONFIG_DIR"
chown -R minio:minio "$MINIO_DATA_DIR" "$MINIO_CONFIG_DIR"
chmod 750 "$MINIO_DATA_DIR" "$MINIO_CONFIG_DIR"
echo "3) 下载并安装 MinIO 二进制..."
MINIO_URL="https://dl.min.io/server/minio/release/linux-amd64/minio"
[ -n "${MINIO_VERSION:-}" ] && MINIO_URL="https://dl.min.io/server/minio/release/linux-amd64/archive/${MINIO_VERSION}"
wget -q --show-progress -O "$MINIO_BIN_DIR/minio" "$MINIO_URL"
chmod +x "$MINIO_BIN_DIR/minio"
echo "4) 注册 systemd 服务..."
cat >/etc/systemd/system/minio.service <<EOF
[Unit]
Description=MinIO Object Storage Server
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
User=minio
Group=minio
Environment="MINIO_ROOT_USER=$MINIO_ROOT_USER"
Environment="MINIO_ROOT_PASSWORD=$MINIO_ROOT_PASSWORD"
Environment="MINIO_ADDRESS=:$MINIO_PORT"
Environment="MINIO_CONSOLE_ADDRESS=:$MINIO_CONSOLE_PORT"
ExecStart=$MINIO_BIN_DIR/minio server "$MINIO_DATA_DIR" --config-dir "$MINIO_CONFIG_DIR"
Restart=always
RestartSec=5
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
echo "5) 启动服务..."
systemctl daemon-reload
systemctl enable --now minio
echo "✅ 安装完成:"
echo " 二进制:$MINIO_BIN_DIR/minio"
echo " 数据目录:$MINIO_DATA_DIR"
echo 控制台地址:http://$(hostname -I | awk '{print $1}'):$MINIO_CONSOLE_PORT"
echo " 默认账号:$MINIO_ROOT_USER"
四 运行验证与常见问题