Created
August 5, 2012 07:43
-
-
Save JrCs/3262666 to your computer and use it in GitHub Desktop.
Script pour installer les repos RPMForge sur CentOS
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 | |
set -u | |
rpmforge_rpmfile=$(mktemp -u --suffix=.rpm) | |
_clean_exit() | |
{ | |
[ -f "$rpmforge_rpmfile" ] && rm -f "$rpmforge_rpmfile" | |
} | |
trap _clean_exit EXIT | |
exit_with_message() { | |
echo "$1" >&2 | |
exit 1 | |
} | |
RPMFORGE_RELEASE_URL="http://pkgs.repoforge.org/rpmforge-release" | |
echo -e "FractalizeR's RPM Forge Repository Installation Script for CentOS v1.0\n" | |
arch=$(arch) | |
echo "Detected architecture is $arch" | |
RELEASE=`awk '{ print $3 }' < /etc/redhat-release` | |
MAJOR=`echo $RELEASE | awk -F. '{ print $1 }'` | |
MINOR=`echo $RELEASE | awk -F. '{ print $2 }'` | |
echo "Detected CentOS Release: $RELEASE, Major=$MAJOR, Minor=$MINOR" | |
echo | |
[[ $(id -u) != 0 ]] && exit_with_message "You need to be root!" | |
rpmforge_package=$(wget "${RPMFORGE_RELEASE_URL}/" --quiet -O - | sed 's/^.*a href="//;s/">.*$//' | grep -i "el${MAJOR}\..*${arch}.rpm" | tail -1) | |
[[ -z "$rpmforge_package" ]] && exit_with_message "Can't find RPMForge package at $RPMFORGE_RELEASE_URL" | |
repoFileName="/etc/yum.repos.d/CentOS-Base.repo" | |
if [ ! -r $repoFileName -o ! -w $repoFileName ]; then | |
echo "Repository file $repoFileName is not readable or writable!" | |
exit 1 | |
fi | |
echo | |
echo "Loading RPMForge RPM..." | |
wget "${RPMFORGE_RELEASE_URL}/$rpmforge_package" --quiet -O "$rpmforge_rpmfile" || exit_with_message "RPMForge RPM download failed!" | |
echo "Importing RPM Forge GPG key..." | |
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt || exit_with_message "RPMForge GPG key download failed!" | |
echo "Verifying RPMForge RPM..." | |
rpm -K "$rpmforge_rpmfile" || exit_with_message "RPMForge GPG key verification failed!" | |
echo "Installing RPMForge RPM..." | |
output=$(LC_ALL=C rpm --quiet -i "$rpmforge_rpmfile" 2>&1) | |
[[ $? -ne 0 && ! "$output" =~ "is already installed" ]] && exit_with_message "${output}RPMForge RPM installation failed!" | |
echo "Editing RPMForge repo file..." | |
repoFileName="/etc/yum.repos.d/rpmforge.repo" | |
if [ ! -r $repoFileName -o ! -w $repoFileName ]; then | |
"Repository file $repoFileName is not readable or writable!" | |
exit 1 | |
fi | |
echo "Activating RPMForge Extras..." | |
sed -i '/rpmforge-extras/,/^enabled\|^\[/s/^enabled.*/enabled = 1/' $repoFileName | |
echo "Done!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment