#!/bin/sh
# 获取 Unix 时间戳
unix_timestamp=$(date +%s)
echo "Unix timestamp: $unix_timestamp"
# 获取当前用户的 UID
current_uid=$(id -u)
current_user=$(id -un)
WORK_DIR=$(cd $(dirname "$0"); pwd)
echo "开始切换到root权限"
sudo -i <<EOF
cd $WORK_DIR
echo "工作目录$WORK_DIR"
mv /etc/yum.repos.d/kylin_x86_64.repo /etc/yum.repos.d/kylin_x86_64.repo.bak
# 在这里添加需要以root权限执行的命令
echo "现在是root用户"
# 检查Docker是否已安装
#if ! command -v docker &> /dev/null; then
# echo "Docker未安装"
#else
# 卸载 Docker
systemctl stop docker
systemctl disable docker
yum remove docker docker-common docker-selinux docker-engine -y
echo "Docker has been uninstalled."
# 重新安装 Docker
chmod +x ./docker/*
cp -f ./docker/* /usr/bin/
#fi
service_dir="/usr/lib/systemd/system"
# 检查目标目录是否存在
if [ ! -d $service_dir ]; then
echo "$service_dir 目录不存在,请确保该目录存在。"
mkdir -p $service_dir
fi
chmod +x docker_configs/docker.service
cp -f docker_configs/docker.service $service_dir/
daemon_dir="/etc/docker"
# 检查目标目录是否存在
if [ ! -d $daemon_dir ]; then
echo "$daemon_dir 目录不存在,请确保该目录存在。"
mkdir -p $daemon_dir
fi
cp -f docker_configs/daemon.json $daemon_dir/
# 启动 Docker
systemctl daemon-reload
# 添加开机自动启动
systemctl enable docker
echo "安装nvidia-docker"
yum install docker_nvidia_rpm/* -y
nvidia-ctk runtime configure --runtime=docker
systemctl restart docker
echo "导入镜像"
docker load -i images/project-road.latest.tar
docker tag 1f62ba688038 project-road:latest
# 判断当前用户是否为 root
if [ "$current_uid" -ne 0 ]; then
# 当前用户不是 root,尝试将其添加到 docker 用户组
echo "当前用户不是 root 用户,尝试将其添加到 docker 用户组。"
# 检查 docker 用户组是否存在
if ! id -n docker &>/dev/null; then
# docker 用户组不存在,创建 docker 用户组
echo "docker 用户组不存在,创建 docker 用户组。"
sudo groupadd docker
fi
# 将当前用户添加到 docker 用户组
echo "将当前用户 $current_user 添加到 docker 用户组。"
sudo usermod -aG docker "$current_user"
# 刷新用户组信息
echo "刷新用户组信息,请重新登录。"
newgrp docker
else
# 当前用户是 root
echo "当前用户是 root 用户。"
fi
EOF
echo "切换回普通用户"
docker images
#reboot
09-23
3894
09-24
4933
09-25
823