快速替换YUM源脚本

#!/bin/bash
#20180709 V2.0 
###因为要经常切换yum本地源 写了个脚本快速切换  复制保存成.sh文件 sh执行即可;
###此脚本可以快速安装阿里,163的yum源,需要root用户执行权限;
dir=/etc/yum.repos.d   #Yum source
[ `id -u` -ne 0 ] && echo "Please use the root user to execute $0"&&exit 1
menu(){
echo "Please Correct Input [1-8] Begin install"
echo "-----------------------------------"
echo "Input $0 1 install ftp yum source"
echo "Input $0 2 install iso yum source"
echo "Input $0 3 install aliyun Centos-5.repo"
echo "Input $0 4 install aliyun Centos-6.repo"
echo "Input $0 5 install aliyun Centos-7.repo"
echo "Input $0 6 install 163 CentOS5-Base-163.repo"
echo "Input $0 7 install 163 CentOS6-Base-163.repo"
echo "Input $0 8 install 163 CentOS7-Base-163.repo"
echo "-----------------------------------"
}
backup(){
echo "-----------------------------------"
echo "Begin backup  $dir"
echo "-----------------------------------"
mkdir -p $dir/backup
mv -f $dir/*.repo $dir/backup  
echo "Backup yum files success" 
echo "Backup yum directory "$dir"backup"  
echo "-----------------------------------"
}
clean_yum_cache(){
echo "-----------------------------------"
echo "Begin clean yum all cache"
echo "-----------------------------------"
yum clean all
yum makecache 
echo "-----------------------------------"
echo "$0 script execution end"
echo "-----------------------------------"
}
aliyun_mirrors(){
echo "Testing http://mirrors.aliyun.com/repo/ connectivity"
echo "-----------------------------------"
aliyun=`curl --connect-timeout 10 -I http://mirrors.aliyun.com/repo/|head -n 1|grep 200|wc -l`
  if [ $aliyun -ne 1 ];then
    echo "-----------------------------------"
    echo "mirrors.aliyun.com yum source is unavailable"  
    exit 1
  fi
}
m163_mirrors(){
echo "Testing http://mirrors.163.com/.help/centos.html connectivity"
echo "-----------------------------------"
m163=`curl --connect-timeout 10 -I http://mirrors.163.com/.help/centos.html|head -n 1|grep 200|wc -l`
  if [ $m163 -ne 1 ] ;then
    echo "-----------------------------------"
    echo "mirrors.163.com yum source is unavailable" 
    exit 1
  fi
}
case $1 in
  1 ) 
      read -p "Please enter the ftp Server ipaddress and path:" ip
      ping -c 2 $ip >/dev/null 2>&1
      if [ $? -ne 0 ];then
        echo "Input ipaddress:$ftpip Host Unreachable "
        echo "Please enter ftp Server ipaddress"
        exit 1
      else
        backup
        cat >  $dir/base.repo << EOF
[base]
name=base
baseurl=ftp://$ip/pub
enabled=1
gpgcheck=0  
EOF
        clean_yum_cache
      fi
    ;;
  2 ) 
      read -p "Please enter the ISO file path :" iso 
      if [ -z $iso ]; then
        echo "Please enter the ISO file path:(/dev/sr0)"
        exit 1
      elif [ -b $iso ] || [ -f $iso ] ;then
        backup
              if [ ! -d  "/yumiso" ] ;then
                    mkdir -p /yumiso
                else 
                  echo "/yumiso mount directory already exists"
              fi
        mount -o loop $iso /yumiso
        cat > $dir/base.repo <<EOF
[base]
name=base
baseurl=file:///yumiso
enabled=1
gpgcheck=0
EOF
      else         
        echo "Please enter the ISO file path:(/dev/sr0)"
        exit 1
      fi
      clean_yum_cache
    ;;
  3 ) 
      aliyun_mirrors
      backup
      cd $dir
      wget http://mirrors.aliyun.com/repo/Centos-5.repo
      clean_yum_cache
    ;;
  4 ) 
      aliyun_mirrors
      backup
      cd $dir
      wget http://mirrors.aliyun.com/repo/Centos-6.repo
      clean_yum_cache
    ;;
  5 ) 
      aliyun_mirrors
      backup
      cd $dir
      wget http://mirrors.aliyun.com/repo/Centos-7.repo
      clean_yum_cache
    ;;
  6 ) 
      m163_mirrors
      backup
      cd $dir
      wget http://mirrors.163.com/.help/CentOS5-Base-163.repo
      clean_yum_cache
    ;;
  7 ) 
      m163_mirrors
      backup
      cd $dir
      wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
      clean_yum_cache
    ;;
  8 ) 
      m163_mirrors
      backup
      cd $dir
      wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
      clean_yum_cache
    ;;
  * )
      menu
      exit
    ;;
esac

原文地址:http://blog.51cto.com/junhai/2139145

时间: 2024-10-12 12:07:48

快速替换YUM源脚本的相关文章

shell脚本快速配置yum源

我们在使用Red Hat系列与CentOS系列的Linux系统时经常要配置yum源,本文档提出一个快速配置yum源的方法,就是用shell脚本来实现. 首先确保系统已挂载好镜像文件,然后执行vim rhel7.repo.sh命令,这个命令是创建一个脚本. 在打开的文件中添加以下内 [[email protected] ~]# vim rhel7.repo.sh  1 #!/bin/bash 2 3 cd /etc/yum.repos.d 4 5 cat >>rhel7.repo<<

替换yum源时出现的错误

今天在redhat 5.4_64系统替换yum源的时候出现: [[email protected] yum.repos.d]# yum clean metadata There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: /usr/lib/python2.4/site-packages/_sqlitecache.so: w

redhat替换yum源

redhat6 替换yum源: 由于redhat的服务器必须要求注册红帽才可以使用红帽的yum.但是我们可以替换掉原本的yum,使用centos的yum源. 准备工作: 需要下载下面的yum包和依赖: python-iniparse-0.3.1-2.1.el6.noarch.rpm yum-metadata-parser-1.1.2-16.el6.x86_64.rpm yum-3.2.29-81.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1

本地安装yum源脚本

rpm -qa|grep yum   //检查是否安装了yum. 如果没有安装就执行下面的文件 创建一个以xxx.sh结尾的文件 #!/bin/bash #创建两个文件用于挂载文件 mkdir /mnt/yum mkdir -R /dev/local #挂载系统安装光盘mount /dev/crdom /mnt/yum #配置本地yum源 #切换到源配置文件的目录下cd /etc/yum.reposl.d #创建一个新的文件,记住必须以.repo结尾的文件touch local.repo #编辑

CentOS7快速更改yum源

yum install wget -yrm -rf /etc/yum.repos.d/*wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo yum clean all yum makecache

redhat 6.8 配置 centos6 163 的 yum 源

1. 检查是否安装yum包[[email protected] rpms]# rpm -qa|grep yum 2. 删除自带的yum包[[email protected] rpms]# rpm -qa|grep yum|xargs rpm -e --nodeps因为一些包之间可能会有依赖关系,所以我们需要加上参数 --nodeps 无视依赖关系. 3. 下载yum包Yum包下载地址http://mirrors.163.com/centos/在这个网站里,你可以自己选择需要下载的文件,进入形如5

快速搭建RHEL5.9本地yum源

一.搭建yum源的方式Yum源一般分为三类:本地yum源(文件方式),ftp方式源,http方式yum源.三种方式的不同之处仅仅在于客户端访问yum源的方式不同.二.快速搭建本地yum源(2个脚本)[[email protected] ~]# vim yumresoure.sh !/bin/bashmkdir -p /data/yum/               #创建目录用来备份yum的.repo文件mv   /etc/yum.repos.d/* /data/yum/   #备份yum的.r

redhat替换centos 6.6 yum源

新安装了redhat6.4.安装后,登录系统,使用yum update 更新系统.提示: This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 无法更新. redhat 默认自带的 yum 源需要注册,才能更新.我们想不花钱也可以更新,需要替换掉redhat的yum源. 1.检查是否安装yum包 查看RHEL是否安装了yum,若

替换centos的yum源

1,可以从阿里的镜像站点里面选中自己的linux版本:http://mirrors.aliyun.com/ 2,如果是centos可以参看以下方法: 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的CentOS-Base.repo 到/etc/yum.repos.d/ CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base.repo