Last active
October 9, 2015 23:27
-
-
Save zaininnari/3595220 to your computer and use it in GitHub Desktop.
rpm を利用したレポジトリの自動追加スクリプト
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
LANG=C | |
cd /tmp/ | |
### {{{ 使い方 ### | |
# *概要 | |
# rpm を利用したレポジトリの自動追加スクリプトです。 | |
# OS のバージョンを自動的に判別し、 | |
# 最新の rpm にてインストールを行い、 | |
# デフォルトで有効になっているものを無効化(enabled=0)します | |
# *前提 | |
# 作成環境 CentOS 6.3(x86_64) | |
# アーキテクチャ | |
# install_repository ".repo prefix" "rpmのURLパス" "rpmファイル抽出正規表現" | |
# オリジナル | |
# [CentOS] rpmリポジトリ管理ツール群 リリースしました | |
# http://nullpopopo.blogcube.info/2012/08/centos-reposmainte.html | |
### }}} 使い方 ### | |
########### {{{ define ########### | |
# .repo ファイルパス | |
REPOD=/etc/yum.repos.d/ | |
# OSのメジャーバージョンを取得 | |
VERSION=$(cat /etc/redhat-release | sed -e 's/[a-zA-Z\(\)\ ]//g;s/\.[0-9]//g') | |
# 1 : .repo prefix, 2 : rpmのURLパス, 3 : rpmファイル抜きだし正規表現 | |
install_repository() { | |
if test $# -ne 3 | |
then | |
echo "引数の数が正しくありません。1 : .repo prefix, 2 : rpmのURLパス, 3 : rpmファイル抽出正規表現" | |
else | |
echo ----- start install ----- | |
echo PREFIX : $1 | |
echo URL_PATH : $2 | |
echo REGEX : $3 | |
RPM=$(wget -q $2 -O - | sed -n -e $3 | sed '$!d') | |
echo RPM : $RPM | |
rpm -Uvh $2$RPM | |
echo ----- start disable .repo ----- | |
find $REPOD -name "$1*\.repo" | xargs sed -i -e 's/enabled *= *1/enabled=0/g' | |
echo ----- end disable .repo ----- | |
echo ----- end install ----- | |
fi | |
} | |
########### }}} define ########### | |
# epel | |
install_repository epel http://dl.fedoraproject.org/pub/epel/$VERSION/x86_64/ "s/^.*=\"\(epel-release-.*\)\">.*$/\1/p;" | |
# remi | |
install_repository remi http://rpms.famillecollet.com/enterprise/ "s/^.*=\"\(remi-release-$VERSION\.rpm\)\">.*$/\1/p;" | |
# rpmforge | |
install_repository rpmforge http://pkgs.repoforge.org/rpmforge-release/ "s/^.*=\"\(rpmforge-release-.*\.el$VERSION\.rf\.x86_64\.rpm\)\">.*$/\1/p;" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment