Gebruikershulpmiddelen

Site-hulpmiddelen


werkinstructies:spacewalk_channels

Dit is een oude revisie van het document!


Channels en Repositories in Spacewalk

Nadat je een Spacewalk server hebt geinstalleerd moet je deze nog van channels voorzien.

Het verdient aanbeveling even goed na te denken over de layout van je channels.

mijn setup ziet er zo uit :

centos_6-base
├─ centos_6-extras
├─ centos_6-updates
└─ epel_6
centos_7-base
├─ centos_7-extras
├─ centos_7-updates
└─ epel_7

Je zou kunnen overwegen om de dot releases als child channels te configureren en geen repository aan het base channel te koppelen. hierdoor wordt het opruimen van verouderde packages eenvoudiger en duurt het aanvankelijke synchen met de upstream repository korter.

Met het goedkoper worden van storage en het sneller worden van internet verbindingen wordt dit wel steeds minder belangrijk.

Base channel

Maak een base channel aan door in het boven menu Channels te kiezen en vervolgens in het zij menu Manage Software Channels en druk op het blauwe + Create Channel

Vul de naam en label in, geen idee waarom er twee zijn, maar volgens de instructies moger er in geen van beide hoofdletters of spaties. Hou ze voor het gemak gelijk.

Scroll naar beneden, daar moet de GPG informatie worden ingevuld waar de rpm's uit de repository mee gesigned zijn.

Je krijgt deze informatie het eenvoudigst door de gpg-key te downloaden naar een linux machine, de spacewalk server zelf is een prima optie aangezien in afgeschermde omgevingen dit überhaupt de enige server is die met de repo server die als bron gekozen is kan communiceren.

installeer wget :yum install wget

haal de gpgkey op:

cd /tmp
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/os/x86_64/RPM-GPG-KEY-CentOS-7

en haal de nodige gegevens uit de key door:

gpg --with-fingerprint RPM-GPG-KEY-CentOS-7

de output ziet er ongeveer zo uit. Het getal na de slash is het key ID

pub  4096R/F4A80EB5 2014-06-23 CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>
      Key fingerprint = 6341 AB27 53D7 8A78 A7C2  7BB1 24C6 A8A7 F4A8 0EB5

vul dit in en druk op Create Channel:

nu is het tijd om een repository aan te maken, aan het channel te koppelen en te syncen met de upstream. kies in het zij menu Manage Repositories en druk rechs boven op +Create Repository

vul vervolgens de velden in en druk op Create Repository:

Vervolge stap is de repository aan het channel koppelen. In Manage Software Channels klick op de channel waar de repository bij hoort, kies het tabblad Repositories selecteer de net gemaakte repository en druk op Update Repositories

Vervolgens is het tijd om het channel te syncen met de upstream repository. Log in op de spacewalk server en doe:

spacewalk-repo-sync -c centos_7-x86_64

Dit kan overigens even duren.

07:15:26 ======================================
07:15:26 | Channel: centos_7-x86_64
07:15:26 ======================================
07:15:26 Sync of channel started.
07:15:26 Repo URL: http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/os/x86_64/
07:15:29 Packages in repo:              9363
07:15:48 Packages already synced:          0
07:15:48 Packages to sync:              9363
07:15:48 1/9363 : 389-ds-base-1.3.5.10-11.el7-0.x86_64
07:16:19 2/9363 : 389-ds-base-devel-1.3.5.10-11.el7-0.x86_64
07:16:20 3/9363 : 389-ds-base-libs-1.3.5.10-11.el7-0.x86_64
...

...
14:30:07 9361/9363 : zziplib-devel-0.13.62-5.el7-0.x86_64
14:30:16 9362/9363 : zziplib-devel-0.13.62-5.el7-0.i686
14:30:18 9363/9363 : zziplib-utils-0.13.62-5.el7-0.x86_64
14:30:19 Linking packages to channel.
14:30:30 Repo http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/os/x86_64/ has comps file comps.xml.
14:30:30 Repo http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/os/x86_64/ has 0 errata.
14:30:30 Sync of channel completed in 7:15:04.
14:30:30 Total time: 7:15:04

Om de local channel up to date te houden moet je nog een syncronisatie instellen. Klik op Manage Software Channels kies het tabblad Repositories en daaronder Sync.

Selecteer Sync only latest packages en stel een dagelijkse sync rond 5:00AM in:

Elk Base channel heeft een activation key nodig om later clients te kunnen verbinden. Maak een key aan door in het top menu Systems te kiezen en vervolgens in het zij menu Activation Keys klik op +Create Key

Child Channels

Child channels maak je onder een base Channel aan om repositories te ontsluiten die specifiek bij de OS release van dat Base Channel horen, zoals in dit voorbeeld de updates en de EPEL repositories.

update child channel

Maak eerst een repository aan, dit gaat hetzelfde als de repository voor het base Channel.

Ga naar Channels en kies in het zij menu Manage Software Channels –> Manage Repositories en druk op +Create Repository

Vul een naam in en de URL http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/updates/x86_64/ en druk op de groene knop Create Repository

Maak vervolgens het Child Channel aan. Ga naar Manage Software Channels en druk op +Create Channel , vul alles in en kies deze keer een Parent Channel

De GPG keys zijn hetzelfde, vul dus dezelfde waarden in al bij het Parent Channel en druk op de groene knop Create Channel:

Ga vervlogens naar het tabblad Repositories, selecteer de net aangemaakte repository voor updates, en druk op Update Repositories

Log in op de server en doe spacewalk-repo-sync -c centos_7-x86_64-updates

14:15:16 ======================================
14:15:16 | Channel: centos_7-x86_64-updates
14:15:16 ======================================
14:15:16 Sync of channel started.
14:15:17 Repo URL: http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/updates/x86_64/
14:15:18 Packages in repo:               807
14:15:19 Packages already synced:          0
14:15:19 Packages to sync:               807
14:15:19 1/807 : 389-ds-base-1.3.5.10-12.el7_3-0.x86_64
14:15:31 2/807 : 389-ds-base-1.3.5.10-15.el7_3-0.x86_64
...

...
15:35:42 806/807 : zsh-5.0.2-25.el7_3.1-0.x86_64
15:35:43 807/807 : zsh-html-5.0.2-25.el7_3.1-0.x86_64
15:35:43 Linking packages to channel.
15:35:44 Repo http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/updates/x86_64/ has 0 errata.
15:35:44 Sync of channel completed in 1:20:27.
15:35:44 Total time: 1:20:27

Stel nog wel een dagelijkse sync in: Ga naar het subtabblad Sync selecteer Daily, kies een tijdstip en druk op schedule

Andere child channels

We nemen als voorbeeld de populaire EPEL repository. Nagenoeg hetzelfde als de update child channel.

Maak eerst een repository aan, ga naar Channels en kies in het zij menu Manage Software Channels –> Manage Repositories en druk op +Create Repository

Vul een naam inEPEL_7-x86_64-nluug en de URL http://ftp.nluug.nl/pub/os/Linux/distr/fedora-epel/7/x86_64/ en druk op de groene knop Create Repository

Maak vervolgens het Child Channel aanepel_7-x86_64. Ga naar Manage Software Channels en druk op +Create Channel , vul alles in en kies deze keer een Parent Channel in dit geval centos_7-x86_64

De GPG key moet je weer downloaden en analyseren om die vervolgens in te vullen. cd /tmp
wget http://ftp.nluug.nl/pub/os/Linux/distr/fedora-epel/RPM-GPG-KEY-EPEL-7
gpg --with-fingerprint RPM-GPG-KEY-EPEL-7

pub  4096R/352C64E5 2013-12-16 Fedora EPEL (7) <epel@fedoraproject.org>
      Key fingerprint = 91E9 7D7C 4A5E 96F1 7F3E  888F 6A2F AEA2 352C 64E5

druk op Create Channel.

Vervolgens de repository aan dit channel koppelen: Ga naar het tabblad Repositories, selecteer EPEL_7-x86_64-nluug en druk op Update Repositories

log in op de server en doe spacewalk-repo-sync -c epel_7-x86_64

stel nog een sync schedule in en klaar.

Debian Channels en Repositories

En Verder

Nu je je channels met repositories klaar hebt is het tijd om clients te koppelen.

Bronnen

werkinstructies/spacewalk_channels.1490794734.txt.gz · Laatst gewijzigd: 2017/03/29 15:38 door abel