瀏覽代碼

07env-install-centos.sh

lizw 2 年之前
父節點
當前提交
741e991290
共有 1 個文件被更改,包括 37 次插入13 次删除
  1. 37 13
      00base/07env-install-centos.sh

+ 37 - 13
00base/07env-install-centos.sh

@@ -15,6 +15,7 @@ ADD_USER_PASSWORD="MoXF2Zi6u7f7lqZu"
 BASE_DIR="/opt"
 
 # 软件
+YUM_REPOS="http://mirrors.aliyun.com/repo/Centos-7.repo"
 #--- jdk
 JDK_URL="https://d6.injdk.cn/oraclejdk/11/jdk-11.0.16.1_linux-x64_bin.tar.gz"
 JDK_FILE_NAME="jdk-11.0.16.1_linux-x64_bin.tar.gz"
@@ -40,6 +41,7 @@ SUDO_PASSWORD=""
 #--- 指令
 INIT_TAG="0"
 #--- 指令参数
+UPDATE_YUM_REPOS="1"
 ADD_USER_TAG="1"
 GIT_TAG="1"
 DSTAT_TAG="1"
@@ -224,6 +226,23 @@ function command::exec() {
 ######################################################################################################
 # 安装函数
 ######################################################################################################
+# 更新yum源
+function init:update_yum_repos() {
+  log::info "[update-yum-repos]" "更新yum源..."
+  local host="127.0.0.1"
+  local repo_bak="/etc/yum.repos.d/CentOS-Base.repo_bak"
+  command::exec "${host}" "
+    $(declare -f utils::download_file)
+    if [ ! -f "$repo_bak" ]; then
+      mv /etc/yum.repos.d/CentOS-Base.repo $repo_bak
+      utils::download_file ${YUM_REPOS} /etc/yum.repos.d/CentOS-Base.repo
+      yum makecache
+    fi
+  "
+  check::exit_code "$?" "update-yum-repos" "$host 更新yum源" "exit"
+  log::info "[update-yum-repos]" "yum源更新成功!"
+}
+
 # 新增用户
 function init:add_user() {
   log::info "[add-user]" "新增用户[${ADD_USER_NAME}]..."
@@ -371,20 +390,21 @@ Usage:
   env-install-centos.sh [command]
 
 Available Commands:
-  init            初始化系统
+  init                初始化系统
 Flag:
-  -add-user       是否新增用户, 默认: '1'
-  -user-name      新增用户名, 默认: 'www'
-  -base-dir       新增用户名, 默认: '/opt'
-  -git            是否安装git环境, 默认: '1'
-  -dstat          是否安装dstat, 默认: '1'
-  -htop           是否安装htop, 默认: '1'
-  -nginx          是否安装nginx, 默认: '1'
-  -nodejs         是否安装nodejs环境, 默认: '1'
-  -java           是否安装java环境, 默认: '1'
-  -gradle         是否安装gradle环境, 默认: '1'
-  -maven          是否安装maven环境, 默认: '1'
-  -jenkins        是否安装jenkins环境, 默认: '1'
+  -update-yum-repos   是否更新yum源, 默认: '1'
+  -add-user           是否新增用户, 默认: '1'
+  -user-name          新增用户名, 默认: 'www'
+  -base-dir           新增用户名, 默认: '/opt'
+  -git                是否安装git环境, 默认: '1'
+  -dstat              是否安装dstat, 默认: '1'
+  -htop               是否安装htop, 默认: '1'
+  -nginx              是否安装nginx, 默认: '1'
+  -nodejs             是否安装nodejs环境, 默认: '1'
+  -java               是否安装java环境, 默认: '1'
+  -gradle             是否安装gradle环境, 默认: '1'
+  -maven              是否安装maven环境, 默认: '1'
+  -jenkins            是否安装jenkins环境, 默认: '1'
 
 Example:
   env-install-centos.sh init \\
@@ -406,6 +426,9 @@ while [ "${1:-}" != "" ]; do
     init  )                 INIT_TAG="1"
                             ;;
     # -------------------------------------------------------------- 指令参数
+    -update-yum-repos )     shift
+                            UPDATE_YUM_REPOS=${1:-UPDATE_YUM_REPOS}
+                            ;;
     -add-user )             shift
                             ADD_USER_TAG=${1:-ADD_USER_TAG}
                             ;;
@@ -452,6 +475,7 @@ done
 log::info "[start]" "bash $0 ${SCRIPT_PARAMETER}"
 # 动作
 if [[ "${INIT_TAG:-}" == "1" ]]; then
+    [[ "${UPDATE_YUM_REPOS:-}" == "1" ]] && { init:update_yum_repos; }
     [[ "${ADD_USER_TAG:-}" == "1" ]] && { init:add_user; }
     [[ "${GIT_TAG:-}" == "1" ]] && { init:git; }
     [[ "${DSTAT_TAG:-}" == "1" ]] && { init:dstat; }