linux脚本创建yum源,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",直接运行脚本即可。

代码如下,就不多说了

#!/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 <

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 $*

更多YUM相关教程见以下内容:

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值