Si vous essayez de configurer un référentiel interne (un scénario très typique), il est préférable de créer un paquetage RPM pour déployer la configuration du référentiel. C'est l'approche standard utilisée par à peu près tous les principaux dépôts tiers basés sur EL (RHEL, CentOS, Scientific Linux), y compris epel, remi, ius et rpmforge.
C'est la même approche que j'ai utilisée en interne pour distribuer notre référentiel interne avec la clé de signature GPG correspondante. Par exemple, j'ai un dossier sources pour nos machines EL5 :
[linuxadm@machine]# ls -1 /home/linuxadm/rpmbuild/SOURCES/XXXXX-release-5.0.0
XXXXX.repo
RPM-GPG-KEY-XXXXX
Et le contenu du fichier repo :
[linuxadm@machine]# cat /home/linuxadm/rpmbuild/SOURCES/XXXXX-release-5.0.0/XXXXX.repo
[XXXXX]
name=XXXXX
baseurl=http://repo.domain.ext/XXXXX/5/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-XXXXX
Et le fichier SPEC pour construire l'ensemble :
Name: XXXXX-release
Version: 5.0.0
Release: 1
Summary: XXXXX repository configuration
Group: System Environment/Base
License: XXXXX
URL: http://www.domain.ext
Source0: %{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
%description
This package contains the XXXXX repository GPG key as well as configuration for yum.
%prep
%setup -q
%build
%install
rm -rf %{buildroot}
mkdir -p -m 755 %{buildroot}%{_sysconfdir}/pki/rpm-gpg
mkdir -p -m 755 %{buildroot}%{_sysconfdir}/yum.repos.d
install -m 644 XXXXX.repo %{buildroot}%{_sysconfdir}/yum.repos.d/XXXXX.repo
install -m 644 RPM-GPG-KEY-XXXXX %{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-XXXXX
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%config(noreplace) /etc/yum.repos.d/*
/etc/pki/rpm-gpg/*
%changelog
* Fri Mar 07 2014 First Last <email@domain.ext> - 5.0.0-1
- Initial Package
Une fois le paquet RPM obtenu, il peut être placé dans le dépôt auquel il appartient. Utiliser createrepo --update [folder]
pour reconstruire les métadonnées de votre référentiel si nécessaire. Après cela, tout ce que vous avez à faire pour installer votre référentiel est de rpm -ivh http://repo.domain.ext/path/to/file/XXXXX.rpm
et toute la configuration est automatiquement placée sur le système.