02.08.05 11:31Crearea unui repositor yum.
Yum este un utilitar pentru managementul pachetelor RPM in
distributiile Linux ce folosesc acest tip de pachete.
Voi descrie crearea unui repositor yum pentru Fedora Core 2.
Mai intai alegem si cream directorul de baza al repositorului , care va
fi totodata si DocumentRoot pentru access prin web sau ftp la
repositorul dat.
In cazul de fata am ales /usr/local/yum
[root@host]$ mkdir -p
/usr/local/yum/fedora/linux/core/2/i386
style="font-weight: bold;">
Sincronizam repositorul cu unul existent, folosind rsync.
Alegem din lista de mirror-uri -
http://fedora.redhat.com/download/mirrors.html unul mai apropiat ( am
ales distro.ibiblio.org ) , care suporta rsync si rulam :
[root@host]$ rsync -azv
--exclude /headers/
rsync://distro.ibiblio.org/fedora-linux-core/2/i386/os/Fedora/RPMS/
/usr/local/yum/fedora/linux/core/2/i386/
style="font-weight: bold;">
Excludem headerele, deoarece le vom crea mai tarziu .
Dupa am hotarat sa adaug update-urile oficiale in acelasi repositor,
deoarece nu vor mai fi modificari (pachete adaugate/sterse) in
ele :
[root@host]$ rsync -azv –exclude
/headers/ rsync://distro.ibiblio.org/fedora-linux-core/updates/2/i386/
/usr/local/yum/fedora/linux/core/2/i386/
Yum functioneaza pe baza prelucrarii headerelor pachetelor RPM,
create cu ajutorul yum-arch .
Astfel statiile ce vor folosi acest repositor nu vor fi nevoite sa
descarce fiecare RPM , ci numai headerele care contin meta informatii
despre fiecare pachet.
Pentru a crea headerele rulam:
[root@host]$ yum-arch
/usr/local/yum/fedora/linux/core/2/i386/
style="font-weight: bold;">
In continuare cream alt repositor , cu update-urile respecive de
la Fedoralegacy :
[root@host]$ mkdir -p /usr/local/yum/fedora/linux/core/updates/2/i386
style="font-weight: bold;">
Sincronizarea repositorului cu cel al fedoralegacy :
[root@host]$ rsync -azv
--exclude /debug/ --exclude /headers/ --exclude /repodata/
download.fedoralegacy.org::legacy/fedora/2/updates/i386/
/usr/local/yum/fedora/linux/core/updates/2/i386/
style="font-weight: bold;">
[root@host]$ yum-arch
/usr/local/yum/fedora/linux/core/updates/2/i386/
style="font-weight: bold;">
Putem crea un cronjob care va automatiza procesul :
#!/bin/sh
style="font-weight: bold;">
EXCLUDE="
style="font-weight: bold;">
--exclude /debug/ --exclude
/headers/ --exclude /repodata/
"
style="font-weight: bold;">
/usr/bin/rsync -az $EXCLUDE
style="font-weight: bold;">
download.fedoralegacy.org::legacy/fedora/2/updates/i386/
/usr/local/yum/fedora/linux/core/updates/2/i386/
style="font-weight: bold;">
/usr/bin/yum-arch
/usr/local/yum/fedora/linux/core/updates/2/i386/
style="font-weight: bold;">
La fel, puteti adauga functii care vor verifica semnaturile GPG sau MD5
ale pachetelor descarcate , daca sunt disponibile.
Configurarea clentilor:
- instalarea yum
[root@host]$ rpm -Uvh
http://download.fedoralegacy.org/fedora/2/os/i386/yum-2.0.7-1.1.noarch.rpm
style="font-weight: bold;">
- redactarea fisierului de configurare - /etc/yum.conf
[base]
style="font-weight: bold;">
name=Fedora Core $releasever -
$basearch - Base
baseurl=http://yum.domain.tld/fedora/linux/core/$releasever/$basearch/
style="font-weight: bold;">
style="font-weight: bold;">
[updates]
style="font-weight: bold;">
name=Fedora Core $releasever -
$basearch - Released Updates
baseurl=http://yum.domain.tld/fedora/linux/core/updates/$releasever/$basearch/
style="font-weight: bold;">
Puteti crea un RPM pachet cu yum, prin recompilarea pachetului yum
redactarea fisierului spec, astfel nu va fi nevoie sa modificati
yum.conf pe fiecare sistem.
Informatie suplimentara la tema poate fi gasita la :
http://linux.duke.edu/projects/yum/ - pagina proiectului YUM
http://www.giac.org/certified_professionals/practicals/gcux/0275.php –
o lucrare ce descrie acest proces foarte amanuntit
http://www.linux.com/print.pl?sid=04/07/22/1718242 – un alt
articol
http://fedoralegacy.org/docs/ - Fedoralegacy