Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Repository spiegeln CentOS 7
RPM (Package Manager) ist ein freies (GPL) Software-Paketverwaltungssystem, welches ursprünglich von ein prominenten Nord-Amerikanischen Linux-Distributor Red Hat entwickelt worden ist. Eine Sammlung von vielen RPM-Paketen stellt das sogenannte Repository dar, welches unter Zuhilfenahme eines Paket-Management Programms, wie z.B. YUM (Yellow Dog Updater) zur Aktualisierung von z.B. CentOS verwendet werden kann.
Ab hier werden zur Ausführung nachfolgender Befehle root
-Rechte benötigt. Um der Benutzer root
zu werden, melden Sie sich bitte als root
-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root
:
$ su - Password:
Vorbereitungen
Nachfolgend soll beschrieben werden, wie ein Spiegel eines öffentlichen Repositories, erstellt werden kann und aktuell gehalten werden kann. In diesem Fall sollen das
- CentOS-Repository ab der Version 7.0 in der Architektur 64-bit
auf eine lokale Festplatte gespiegelt werden.
Der Datentransfer soll von einem öffentlichen Spiegel des CentOS-Repository täglich aktualisiert werden. Eine Auswahl an öffentlichen CentOS-Repository-Spiegeln kann unter nachfolgenden Links ermittelt und deren Status eingesehen werden:
Im konkreten Fall hier, sollen die Daten von nachfolgendem Server der Hochschule Esslingen transferiert werden:
Ziel Verzeichnisstruktur erstellen
Bevor mit den Spiegeln eines CentOS-Repository von einem öffentlichen Spiegel begonnen werden kann, sollte zuerst die Verzeichnisstruktur erstellt werden, in die der Inhalt des CentOS-Repository auf der lokalen Festplatte gespeichert werden soll, was mit nachfolgenden Befehlen durchgeführt werden kann:
# cd / # mkdir -p /srv/repository/pub/Mirrors/centos/7.0.1406
HINWEIS - Die Option -p
beim Befehl mkdir
legt alle Unterverzeichnisse ebenfalls an, wenn diese nicht bereits bestehen!
Um später bei den Änderungen der Definition in z.B. der Konfigurationsdatei
/etc/yum.repos.d/CentOS-Base.repo
keine Probleme mit der Auflösung des Suchpfades für die RPM-Pakete zu haben, sollte nachfolgender symbolische Links mit nachfolgendem Befehl angelegt werden:
# ln -fs /srv/repository/pub/Mirrors/centos/7.0.1406 /srv/repository/pub/Mirrors/centos/7
Die Ausgabe der Verzeichnisse im Verzeichnis /srv/repository/pub/Mirrors/centos
mit nachfolgendem Befehl, sollte eine Ausgabe in etwa wie nachfolgend dargestellt ergeben:
# ls -l /srv/repository/pub/Mirrors/centos
Installation
Zur Synchronisation eines CentOS-Repository von einem öffentlichen Spiegel, soll der Befehl
rsync
zum Einsatz kommen.
Falls der oben genannte Befehl noch nicht Bestandteil des installierten Betriebssystems ist, was z.B. bei der Installation von CentOS in der Version 7.0 - mit der Vorgabe Minimal der Fall ist, wird nachfolgendes Paket benötigt:
Mit nachfolgendem Befehl, wird das Pakete rsync
installiert:
# yum install rsync Loaded plugins: changelog, priorities 61 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package rsync.x86_64 0:3.0.9-15.el7 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved =============================================================================== Package Arch Version Repository Size =============================================================================== Installing: rsync x86_64 3.0.9-15.el7 base 359 k Transaction Summary =============================================================================== Install 1 Package Total download size: 359 k Installed size: 732 k Is this ok [y/d/N]: y Downloading packages: rsync-3.0.9-15.el7.x86_64.rpm | 359 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : rsync-3.0.9-15.el7.x86_64 1/1 Verifying : rsync-3.0.9-15.el7.x86_64 1/1 Installed: rsync.x86_64 0:3.0.9-15.el7 Complete!
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket rsync
installiert wurden.
# rpm -qil rsync Name : rsync Version : 3.0.9 Release : 15.el7 Architecture: x86_64 Install Date: Fri 12 Dec 2014 01:45:08 PM CET Group : Applications/Internet Size : 749750 License : GPLv3+ Signature : RSA/SHA256, Fri 04 Jul 2014 06:51:30 AM CEST, Key ID 24c6a8a7f4a80eb5 Source RPM : rsync-3.0.9-15.el7.src.rpm Build Date : Tue 10 Jun 2014 04:47:16 AM CEST Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://rsync.samba.org/ Summary : A program for synchronizing files over a network Description : Rsync uses a reliable algorithm to bring remote and host files into sync very quickly. Rsync is fast because it just sends the differences in the files over the network instead of sending the complete files. Rsync is often used as a very powerful mirroring process or just as a more capable replacement for the rcp command. A technical report which describes the rsync algorithm is included in this package. /etc/rsyncd.conf /etc/sysconfig/rsyncd /usr/bin/rsync /usr/lib/systemd/system/rsyncd.service /usr/lib/systemd/system/rsyncd.socket /usr/share/doc/rsync-3.0.9 /usr/share/doc/rsync-3.0.9/COPYING /usr/share/doc/rsync-3.0.9/NEWS /usr/share/doc/rsync-3.0.9/OLDNEWS /usr/share/doc/rsync-3.0.9/README /usr/share/doc/rsync-3.0.9/support /usr/share/doc/rsync-3.0.9/support/Makefile /usr/share/doc/rsync-3.0.9/support/atomic-rsync /usr/share/doc/rsync-3.0.9/support/cvs2includes /usr/share/doc/rsync-3.0.9/support/deny-rsync /usr/share/doc/rsync-3.0.9/support/file-attr-restore /usr/share/doc/rsync-3.0.9/support/files-to-excludes /usr/share/doc/rsync-3.0.9/support/git-set-file-times /usr/share/doc/rsync-3.0.9/support/logfilter /usr/share/doc/rsync-3.0.9/support/lsh /usr/share/doc/rsync-3.0.9/support/mnt-excl /usr/share/doc/rsync-3.0.9/support/munge-symlinks /usr/share/doc/rsync-3.0.9/support/rrsync /usr/share/doc/rsync-3.0.9/support/rsyncstats /usr/share/doc/rsync-3.0.9/support/savetransfer.c /usr/share/doc/rsync-3.0.9/tech_report.tex /usr/share/man/man1/rsync.1.gz /usr/share/man/man5/rsyncd.conf.5.gz