centos建立本地yum源shell脚本

使用方法:

1.下载系统版本对应的"deltarpm-version.el6.x86_64.rpm python-deltarpm-version.el6.x86_64.rpm createrepo-version.noarch.rpm",放到脚本对应的同级目录。2.把需要做成源的rpm(建议把对应系统版本的32位和64位iso中的rpm都拿出来)放到一个目录下,如放到"/tmp/packages",直接运行脚本即可。

代码如下,就不多说了@.·[email protected]

#!/bin/sh

#请下载系统版本对应的"deltarpm-version.el6.x86_64.rpm python-deltarpm-version.el6.x86_64.rpm
#createrepo-version.noarch.rpm",放到脚本对应的同级目录

set -e

function CheckRoot()
{
#check if currect use is root user
CUR_USER=`whoami`
if [ $CUR_USER != ‘root‘ ]
then
      echo ‘The operation will modify system files,you should be  root!‘
  exit 1
fi
}

function MkDir()
{
if [ ! -d $1 ]
then
  mkdir $1 > /dev/null
fi
}

function RollBack()
{
ORIG_DIR=`pwd`
cd /etc/yum.repos.d > /dev/null
MkDir /ect/yum.repos.d/configYum_rb
mv *.repo configYum_rb/ > /dev/null
mv backup/*.repo . > /dev/null
rm -fr backup/ configYum_rb/ > /dev/null
yum clean all > /dev/null
yum makecache > /dev/null
yum repolist all
}

function Create()
{
echo ‘Begin to create local yum source ... ...‘
ORIG_DIR=`pwd`

#backup currect config
if [ ! -d "/etc/yum.repos.d" ]
  then
    echo ‘/etc/yum.repos.d is not existed , please check your system!‘
    exit 1
  fi

cd /etc/yum.repos.d > /dev/null
MkDir /etc/yum.repos.d/backup
mv ./*.repo backup/

#create local.repo
cat >> local.repo << EOF
[localrepo]
name=localrepo
baseurl=file://$1
gpgcheck=0
enabled=1
EOF

retrpm=`rpm -qa | grep deltarpm`
if [ -z "$retrpm" ]
then
  rpm -ivh $ORIG_DIR/deltarpm-.*.rpm > /dev/null
  rpm -ivh $ORIG_DIR/python-deltarpm-.*.rpm > /dev/null
fi

#check if createrepo if existed
which createrepo > /dev/null

if [ $? -eq 1 ]
then
  rpm -ivh $ORIG_DIR/createrepo.*.noarch.rpm > /dev/null
  if [ $? -ne 0 ]
  then
    echo ‘Install createrepo failed !‘
    exit 1
  fi
fi

createrepo $1 > /dev/null

if [ $? -ne 0]
then
  echo ‘create repo failed !‘
  exit 1
fi

yum clean all > /dev/null
yum makecache > /dev/null
yum repolist all
}

function Help()
{
cat <<EOF
There are 2 ways to call this script, for example:
1. To create a local Yum source: ./configYum.sh /tmp/packages
2. To rollback previous operation: ./configYum.sh b
EOF
}

function Main()
{
if [ $# -ne 1 ]
then
  Help
elif [ -d $1 ]
then
  CheckRoot
  Create $*
elif [ $1 = ‘b‘ ]
then
  CheckRoot
  RolllBack
else
  Help
fi
}

Main $*    
时间: 2024-10-09 11:15:22

centos建立本地yum源shell脚本的相关文章

CentOS下建立本地YUM源并自动更新

1. 尽管有很多的免费镜像提供yum源服务,但是还是有必要建立自己的yum服务器,主要出于以下几点考虑: l 网络速度:访问互联网可能比较慢 l 节省带宽:如果有大量的服务器,架设自己的yum源可以有效节省互联网带宽 l 联网限制:对于有些内网服务器,不能连接到互联网 l 对于RHEL(Redhat Enterprise Linux),需要购买服务 l 便于发布自己开发的rpm包 2. 找到适合你的站点的yum同步源,主要是CentOS标准软件仓库.epel.以及rpmforge CentOS标

CentOS制作本地yum源配置说明

概述 默认的yum是以网络来安装的,在没有网络或者网速不佳的情况下,通过yum来安装软件是意见非常痛苦的事情.其实对于CentOSDVD来说,里面提供的软件就足以满足我们的需要了,而且DVD里的软件版本都是稳定版,下载速度还快,对于学习CentOS来说,将CentOSDVD作为默认yum源可以大大提高学习效率,下面为大家提供一中配置本地yum源的方式,步骤如下. 为DVD创建一个挂载目录 [[email protected]~]# mkdir /media/CentOS 在Linux下挂载Cen

CentOS配置本地yum源,网络源以及优先级

1.用Centos镜像搭建本地yum源 在配置网络yum之前我们先卸载旧的yum,并下载CentOS的对应软件包安装,这一步配置yum源都要操作 [[email protected] tools]# rpm -aq|grep yum yum-metadata-parser-1.1.2-16.el6.x86_64 yum-rhn-plugin-0.9.1-58.el6.noarch yum-3.2.29-69.el6.noarch [[email protected] tools]# rpm -a

CentOS 7 本地yum源

本地yum源搭建 环境介绍: 1.虚拟机版本:VMwareWorkstation 12 Pro 2.安装系统:CentOS7.2 3.光盘或镜像文件:CentOS7.2镜像文件 (1)挂载CentOS7.2镜像文件到/mnt目录 [[email protected] ~]# mount /dev/cdrom /mnt/ mount: /dev/sr0 is write-protected, mounting read-only (2)切换到/etc/yum.repos.d/目录 [[email 

CentOS配置本地yum源(使用镜像iso文件)

本人在使用yum安装软件的时候,感觉最不爽的是网络不佳时,安装的速度特别慢.所以,个人就上网search了一下如何使用Linux的安装文件作为其yum源.经过几次尝试,已经可以成功的配置了.下面是详细的介绍: (1)个人的使用环境 本人的CentOS是安装在vmware上的:VMware workstation 7.1.1 + CentOS 5.5 (2)yum使用的相关文件介绍 CentOS使用的yum源是在/etc/yum.repos.d/目录下的两个文件中进行配置的CentOS-Base.

Centos配置本地yum源

由于在VMware虚拟机上最小化安装了不带图形界面的CentOS,在安装VMware tools时报错,提示要安装perl,在无发联网的情况下,可以选择用Centos安装光盘配置本地yum源进行安装. 1.将安装光盘ISO文件加载到光驱中,将光驱挂载到系统文件目录下: mkdir -p /mnt/cdrom #创建挂载目录 mount /dev/cdrom /mnt/cdrom #挂载光盘 2.修改yum源配置文件: ls -l /etc/yum.repos.d/  #进入yum源配置文件目录

centos 7本地yum源配置

环境: centos 7 配置repo文件 [[email protected] yum.repos.d]# cat base.repo [server] name=server baseurl=file:///openyum/ gpgcheck=0 将本地yum包放到要创建的本地yum源的路径中 tar zxf  openstack.tar.gz -C /openyum/1/ tar zxf  cinder.tar.gz -C /openyum/2/ 安装createrepo yum -y i

centos搭建本地yum源码

前言 网上的方法都是互相抄袭,无语了.以下是本人亲自实践过的方法 上传或拷贝iso文件到linux系统中 假设我现在将iso文件上传到linux系统中的/home/lxm/tools目录中 创建用于挂载的目录 由于centos5.11有两个iso文件,因此我就建立了两个目录用于分别挂载,但是其实第二个ISO文件中只有jdk和openoffice语言包,因此第二个iso文件其实可以不用挂载 mkdir -p /mnt/cdrom/iso1 mkdir -p /mnt/cdrom/iso2 将xxx

CentOS配置本地yum源/阿里云yum源/163yuan源,并配置yum源的优先级

一.用Centos镜像搭建本地yum源 由于安装centos后的默认yum源为centos的官方地址,所以在国内使用很慢甚至无法访问,所以一般的做法都是把默认的yum源替换成aliyun的yum源或者163等国内的yum源(下文介绍如何配置). 但是以上的方法都是需要网络的,当没有网络的时候就无法使用了,所以还有一个常用的方法就是用Centos的iso镜像搭建本地yum源,这样安装软件的速度就会飞快,缺点是可能有些包没有. 1.安装Centos后默认的yum源如下 [[email protect