最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

阿里云云服務(wù)器Linux系統(tǒng)更新yum源Shell腳本

 更新時間:2014年09月05日 11:48:53   投稿:junjie  
這篇文章主要介紹了阿里云云服務(wù)器Linux系統(tǒng)更新yum源Shell腳本,阿里云自建了一個包含大多數(shù)系統(tǒng)更新的本地yum源,速度快又好用,需要的朋友可以參考下

所有執(zhí)行的腳本都需要root身份來執(zhí)行,執(zhí)行方法:以root身份執(zhí)行命令:bash xxx.sh

功能:自動檢測系統(tǒng)并更新源
適用系統(tǒng)版本:兼容線上所有l(wèi)inux版本
執(zhí)行方法:以root身份執(zhí)行命令:bash update_source.sh
解決了什么問題:一鍵式檢測系統(tǒng)并更新源
給客戶帶來了好處:用戶只需執(zhí)行該腳本一次即可自動檢測系統(tǒng)并更新源。
備注:由于系統(tǒng)版本都有支持的周期所以部分源可能會出現(xiàn)不可用的情況,包括官方的源,這是正常情況

#!/bin/bash
#########################################
#Function:  update source
#Usage:    bash update_source.sh
#Author:   Customer service department
#Company:   Alibaba Cloud Computing
#Version:   2.0
#########################################

check_os_release()
{
 while true
 do
  os_release=$(grep "Red Hat Enterprise Linux Server release" /etc/issue 2>/dev/null)
  os_release_2=$(grep "Red Hat Enterprise Linux Server release" /etc/redhat-release 2>/dev/null)
  if [ "$os_release" ] && [ "$os_release_2" ]
  then
   if echo "$os_release"|grep "release 5" >/dev/null 2>&1
   then
    os_release=redhat5
    echo "$os_release"
   elif echo "$os_release"|grep "release 6" >/dev/null 2>&1
   then
    os_release=redhat6
    echo "$os_release"
   else
    os_release=""
    echo "$os_release"
   fi
   break
  fi
  os_release=$(grep "Aliyun Linux release" /etc/issue 2>/dev/null)
  os_release_2=$(grep "Aliyun Linux release" /etc/aliyun-release 2>/dev/null)
  if [ "$os_release" ] && [ "$os_release_2" ]
  then
   if echo "$os_release"|grep "release 5" >/dev/null 2>&1
   then
    os_release=aliyun5
    echo "$os_release"
   elif echo "$os_release"|grep "release 6" >/dev/null 2>&1
   then
    os_release=aliyun6
    echo "$os_release"
   else
    os_release=""
    echo "$os_release"
   fi
   break
  fi
  os_release=$(grep "CentOS release" /etc/issue 2>/dev/null)
  os_release_2=$(grep "CentOS release" /etc/*release 2>/dev/null)
  if [ "$os_release" ] && [ "$os_release_2" ]
  then
   if echo "$os_release"|grep "release 5" >/dev/null 2>&1
   then
    os_release=centos5
    echo "$os_release"
   elif echo "$os_release"|grep "release 6" >/dev/null 2>&1
   then
    os_release=centos6
    echo "$os_release"
   else
    os_release=""
    echo "$os_release"
   fi
   break
  fi
  os_release=$(grep -i "ubuntu" /etc/issue 2>/dev/null)
  os_release_2=$(grep -i "ubuntu" /etc/lsb-release 2>/dev/null)
  if [ "$os_release" ] && [ "$os_release_2" ]
  then
   if echo "$os_release"|grep "Ubuntu 10" >/dev/null 2>&1
   then
    os_release=ubuntu10
    echo "$os_release"
   elif echo "$os_release"|grep "Ubuntu 12.04" >/dev/null 2>&1
   then
    os_release=ubuntu1204
    echo "$os_release"
   elif echo "$os_release"|grep "Ubuntu 12.10" >/dev/null 2>&1
   then
    os_release=ubuntu1210
    echo "$os_release"
   else
    os_release=""
    echo "$os_release"
   fi
   break
  fi
  os_release=$(grep -i "debian" /etc/issue 2>/dev/null)
  os_release_2=$(grep -i "debian" /proc/version 2>/dev/null)
  if [ "$os_release" ] && [ "$os_release_2" ]
  then
   if echo "$os_release"|grep "Linux 6" >/dev/null 2>&1
   then
    os_release=debian6
    echo "$os_release"
   else
    os_release=""
    echo "$os_release"
   fi
   break
  fi
  break
  done
}

modify_rhel5_yum()
{
 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyuncs.com/repo/Centos-5.repo
 sed -i 's/aliyun/aliyuncs/g' /etc/yum.repos.d/CentOS-Base.repo
 sed -i 's/\$releasever/5/' /etc/yum.repos.d/CentOS-Base.repo
 yum clean metadata
 yum makecache
 cd ~
}

modify_rhel6_yum()
{
 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyuncs.com/repo/Centos-6.repo
 sed -i 's/aliyun/aliyuncs/g' /etc/yum.repos.d/CentOS-Base.repo
 sed -i 's/\$releasever/6/' /etc/yum.repos.d/CentOS-Base.repo
 yum clean metadata
 yum makecache
 cd ~
}

update_ubuntu10_apt_source()
{
echo -e "\033[40;32mBackup the original configuration file,new name and path is /etc/apt/sources.list.back.\n\033[40;37m"
cp -fp /etc/apt/sources.list /etc/apt/sources.list.back
cat > /etc/apt/sources.list <<EOF
#ubuntu
deb http://cn.archive.ubuntu.com/ubuntu/ maverick main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ maverick main restricted universe multiverse
#163
deb http://mirrors.163.com/ubuntu/ maverick main universe restricted multiverse
deb-src http://mirrors.163.com/ubuntu/ maverick main universe restricted multiverse
deb http://mirrors.163.com/ubuntu/ maverick-updates universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ maverick-updates universe main multiverse restricted
#lupaworld
deb http://mirror.lupaworld.com/ubuntu/ maverick main universe restricted multiverse
deb-src http://mirror.lupaworld.com/ubuntu/ maverick main universe restricted multiverse
deb http://mirror.lupaworld.com/ubuntu/ maverick-security universe main multiverse restricted
deb-src http://mirror.lupaworld.com/ubuntu/ maverick-security universe main multiverse restricted
deb http://mirror.lupaworld.com/ubuntu/ maverick-updates universe main multiverse restricted
deb http://mirror.lupaworld.com/ubuntu/ maverick-proposed universe main multiverse restricted
deb-src http://mirror.lupaworld.com/ubuntu/ maverick-proposed universe main multiverse restricted
deb http://mirror.lupaworld.com/ubuntu/ maverick-backports universe main multiverse restricted
deb-src http://mirror.lupaworld.com/ubuntu/ maverick-backports universe main multiverse restricted
deb-src http://mirror.lupaworld.com/ubuntu/ maverick-updates universe main multiverse restricted
EOF
apt-get update
}

update_ubuntu1204_apt_source()
{
echo -e "\033[40;32mBackup the original configuration file,new name and path is /etc/apt/sources.list.back.\n\033[40;37m"
cp -fp /etc/apt/sources.list /etc/apt/sources.list.back
cat > /etc/apt/sources.list <<EOF
#12.04
deb http://mirrors.aliyuncs.com/ubuntu/ precise main restricted universe multiverse
deb http://mirrors.aliyuncs.com/ubuntu/ precise-security main restricted universe multiverse
deb http://mirrors.aliyuncs.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://mirrors.aliyuncs.com/ubuntu/ precise-proposed main restricted universe multiverse
deb http://mirrors.aliyuncs.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.aliyuncs.com/ubuntu/ precise main restricted universe multiverse
deb-src http://mirrors.aliyuncs.com/ubuntu/ precise-security main restricted universe multiverse
deb-src http://mirrors.aliyuncs.com/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://mirrors.aliyuncs.com/ubuntu/ precise-proposed main restricted universe multiverse
deb-src http://mirrors.aliyuncs.com/ubuntu/ precise-backports main restricted universe multiverse
EOF
apt-get update
}

update_ubuntu1210_apt_source()
{
echo -e "\033[40;32mBackup the original configuration file,new name and path is /etc/apt/sources.list.back.\n\033[40;37m"
cp -fp /etc/apt/sources.list /etc/apt/sources.list.back
cat > /etc/apt/sources.list <<EOF
#12.10
deb http://mirrors.aliyuncs.com/ubuntu/ quantal main restricted universe multiverse
deb http://mirrors.aliyuncs.com/ubuntu/ quantal-security main restricted universe multiverse
deb http://mirrors.aliyuncs.com/ubuntu/ quantal-updates main restricted universe multiverse
deb http://mirrors.aliyuncs.com/ubuntu/ quantal-proposed main restricted universe multiverse
deb http://mirrors.aliyuncs.com/ubuntu/ quantal-backports main restricted universe multiverse
deb-src http://mirrors.aliyuncs.com/ubuntu/ quantal main restricted universe multiverse
deb-src http://mirrors.aliyuncs.com/ubuntu/ quantal-security main restricted universe multiverse
deb-src http://mirrors.aliyuncs.com/ubuntu/ quantal-updates main restricted universe multiverse
deb-src http://mirrors.aliyuncs.com/ubuntu/ quantal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyuncs.com/ubuntu/ quantal-backports main restricted universe multiverse
EOF
apt-get update
}

update_debian_apt_source()
{
echo -e "\033[40;32mBackup the original configuration file,new name and path is /etc/apt/sources.list.back.\n\033[40;37m"
cp -fp /etc/apt/sources.list /etc/apt/sources.list.back
cat > /etc/apt/sources.list <<EOF
#debian6
deb http://mirrors.aliyuncs.com/debian/ squeeze main non-free contrib
deb http://mirrors.aliyuncs.com/debian/ squeeze-proposed-updates main non-free contrib
deb-src http://mirrors.aliyuncs.com/debian/ squeeze main non-free contrib
deb-src http://mirrors.aliyuncs.com/debian/ squeeze-proposed-updates main non-free contrib
EOF
apt-get update
}

####################Start###################
#check lock file ,one time only let the script run one time 
LOCKfile=/tmp/.$(basename $0)
if [ -f "$LOCKfile" ]
then
 echo -e "\033[1;40;31mThe script is already exist,please next time to run this script.\n\033[0m"
 exit
else
 echo -e "\033[40;32mStep 1.No lock file,begin to create lock file and continue.\n\033[40;37m"
 touch $LOCKfile
fi

#check user
if [ $(id -u) != "0" ]
then
 echo -e "\033[1;40;31mError: You must be root to run this script, please use root to install this script.\n\033[0m"
 rm -rf $LOCKfile
 exit 1
fi
echo -e "\033[40;32mStep 2.Begen to check the OS issue.\n\033[40;37m"
os_release=$(check_os_release)
if [ "X$os_release" == "X" ]
then
 echo -e "\033[1;40;31mThe OS does not identify,So this script is not executede.\n\033[0m"
 rm -rf $LOCKfile
 exit 0
else
 echo -e "\033[40;32mThis OS is $os_release.\n\033[40;37m"
fi

echo -e "\033[40;32mStep 3.Begen to modify the source configration file and update.\n\033[40;37m"
case "$os_release" in
redhat5|centos5|aliyun5)
 modify_rhel5_yum
 ;;
redhat6|centos6|aliyun6)
 modify_rhel6_yum
 ;;
ubuntu10)
 update_ubuntu10_apt_source
 ;;
ubuntu1204)
 update_ubuntu1204_apt_source
 ;;
ubuntu1210)
 update_ubuntu1210_apt_source
 ;;
debian6)
 update_debian_apt_source
 ;;
esac
echo -e "\033[40;32mSuccess,exit now!\n\033[40;37m"
rm -rf $LOCKfile

相關(guān)文章

  • shell腳本兩個文件關(guān)鍵行合并方式

    shell腳本兩個文件關(guān)鍵行合并方式

    這篇文章主要介紹了shell腳本兩個文件關(guān)鍵行合并方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • linux awk時間計算腳本及awk命令詳解

    linux awk時間計算腳本及awk命令詳解

    這篇文章主要介紹了linux awk時間計算腳本及awk命令詳解的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • Linux使用pidof命令來快速查找進程id

    Linux使用pidof命令來快速查找進程id

    pidof 是一個簡單而強大的命令行工具,廣泛應(yīng)用于進程管理和腳本編程中,理解如何有效地使用它可以大大提高你的工作效率,本文給大家介紹了Linux使用pidof命令來快速查找進程id的方法,需要的朋友可以參考下
    2025-03-03
  • shell腳本編程實現(xiàn)9*9乘法表

    shell腳本編程實現(xiàn)9*9乘法表

    這篇文章主要介紹了shell腳本編程實現(xiàn)9*9乘法表,本文直接給出實現(xiàn)代碼,并同時總結(jié)了實現(xiàn)代碼中的知識點,需要的朋友可以參考下
    2015-03-03
  • Linux 中unzip解壓時中文亂碼的解決辦法

    Linux 中unzip解壓時中文亂碼的解決辦法

    這篇文章主要介紹了Linux 中unzip解壓時中文亂碼的解決辦法的相關(guān)資料,這里提供兩種解決辦法,希望能通過本文幫助到大家,需要的朋友可以參考下
    2017-09-09
  • shell進度條追蹤指令執(zhí)行時間的場景分析

    shell進度條追蹤指令執(zhí)行時間的場景分析

    這篇文章主要介紹了shell進度條如何追蹤指令執(zhí)行時間,本文中的進度條可以應(yīng)用于大部分場景。不用修改進度條函數(shù)的任何代碼,就可以直接使用,特別適合那些可預(yù)估指令執(zhí)行時間的場景,需要的朋友可以參考下
    2022-06-06
  • 詳解NC反彈shell的幾種方法

    詳解NC反彈shell的幾種方法

    這篇文章主要介紹了詳解NC反彈shell的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Linux SHELL if命令參數(shù)說明

    Linux SHELL if命令參數(shù)說明

    SHELL if命令參數(shù)介紹,方便學(xué)習(xí)shell命令的朋友,需要的朋友可以參考下
    2013-01-01
  • 利用Linux Find命令快速查找文件方法

    利用Linux Find命令快速查找文件方法

    這篇文章主要介紹了利用Linux Find命令快速查找文件方法,這篇文章應(yīng)用最多的就是linux find命令進行快速查找定位,本文給大家介紹了find 命令基本使用方法,需要的朋友可以參考下
    2022-12-12
  • Shell腳本中調(diào)用、引用、包含另外一個腳本文件的兩種方法

    Shell腳本中調(diào)用、引用、包含另外一個腳本文件的兩種方法

    這篇文章主要介紹了Shell腳本中調(diào)用、引用、包含另外一個腳本文件的兩種方法,本文介紹的兩種方法適合在當(dāng)前目錄下,需要的朋友可以參考下
    2014-12-12

最新評論

渑池县| 三亚市| 江北区| 蕉岭县| 全椒县| 扶余县| 苏尼特右旗| 温州市| 故城县| 九寨沟县| 拜城县| 洪湖市| 甘孜县| 永仁县| 横峰县| 思茅市| 涞水县| 新建县| 浪卡子县| 阜宁县| 铜陵市| 交城县| 昌黎县| 宣化县| 玛曲县| 文水县| 柞水县| 元江| 南陵县| 延边| 施甸县| 安乡县| 锦州市| 枣阳市| 孟连| 金塔县| 镇远县| 梅州市| 滦平县| 磐安县| 海宁市|