Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:repository_spiegeln_centos_7

Dies ist eine alte Version des Dokuments!


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:

  • rsync - ist im base-Repository von CentOS

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

Befehl: rsync

Mit nachfolgendem Befehl, könnte nun ein komplettes CentOS-Repository von einem öffentlichen Spiegel transferiert und synchronisiert werden:

:!: HINWEIS - Bitte NICHT oder nur mit Bedacht ausführen, da hier, je nach eigener Anbindung ans Internet, eine sehr lange Datentransferzeit zu erwarten ist !!!

# /usr/bin/rsync -varlHt --progress --delete-after --delay-updates --timeout=300 --exclude SRPMS/ ftp-stud.fht-esslingen.de::pub/Mirrors/centos/7.0.1406/ /srv/repository/pub/Mirrors/centos/7.0.1406/

Agenda der verwendeten Optionen

  • -v - –verbose - Ausgabe von Laufzeitinformationen
  • -a - –archive - Archiv-Modus
  • -r - –recursive - Die Verzeichnisse rückwärts durchsuchen
  • -l - –links - Kopiere symbolische Links als symbolische Links
  • -H - –hard-links - Erhalte „hard“ Links
  • -t - –times - Erhalte ursprüngliche Zeitangaben
  • –progress - Fortschrittsanzeige anzeigen
  • –delete-after - Führe Löschungen erst nach den Änderungen durch, nicht vorher
  • –delay-updates - Führe alle Änderungen erst am Ende des Datentransfers durch (Zwischenspeicherung in .~tmp~ )
  • –timeout=300 - Zeitablauf für Operationen in Sekunden
  • –exclude SRPMS/ - Nachfolgende Angabe SRPMS/ nicht mit einbeziehen

:!: HINWEIS - Zum Test der Verbindung, kann nachfolgender Befehl verwendet werden, welcher nur den Inhalt des Verzeichnisses:

transferieren würde!

# /usr/bin/rsync -varlHt --progress --delete-after --delay-updates --timeout=300 
--exclude SRPMS/ ftp-stud.fht-esslingen.de::centos/7.0.1406/os/x86_64/repodata/ /tmp/test
Welcome to the ftp-stud.hs-esslingen.de archives.

If have any unusual problems, please report them via e-mail to
rsync@ftp-stud.hs-esslingen.de.

  All transfers are logged.
  If you don't like this policy, then disconnect now.
  This server does not support --checksum (-c)
  This server does not support --compress (-z)


receiving file list ... 
10 files to consider
./
1a7dd0d315b39ad504f54ea88676ab502a48064cb2d875ae3ae29431e175861c-primary.xml.gz
     2466737 100%    1.15MB/s    0:00:02 (xfer#1, to-check=8/10)
2bc0054a9f0f4cd3d2806d983edbe3d0dfc484d9f275d12be79eb67a040ba942-c7-x86_64-comps.xml
      725755 100%    1.16MB/s    0:00:00 (xfer#2, to-check=7/10)
3cda64d1c161dd0fead8398a62ef9c691e78ee02fe56d04566f850c94929f61f-filelists.sqlite.bz2
     6048365 100%    1.04MB/s    0:00:05 (xfer#3, to-check=6/10)
4b9ac2454536a901fecbc1a5ad080b0efd74680c6e1f4b28fb2c7ff419872418-c7-x86_64-comps.xml.gz
      160516 100%  198.42kB/s    0:00:00 (xfer#4, to-check=5/10)
7a90ec1358cb1d9cab4c84793f9b96602fb49e7db90a6b8f5ddc441cb2a918c6-filelists.xml.gz
     6024471 100%    1.05MB/s    0:00:05 (xfer#5, to-check=4/10)
ea8bacdf833619ea843887b0673a569633dc9853462219b50578d8247a1cf6c0-other.xml.gz
     1305746 100%  846.71kB/s    0:00:01 (xfer#6, to-check=3/10)
efa521576f53587de26616ea1e45f902993abcd9d67e707b8993b5f29bd15956-primary.sqlite.bz2
     5161398 100%    1.05MB/s    0:00:04 (xfer#7, to-check=2/10)
fdef8b31072b60b0cad9c0c63977ff9c5fb5080f3ecdb47bff0ec0b7bf9b7855-other.sqlite.bz2
     2198161 100%  961.33kB/s    0:00:02 (xfer#8, to-check=1/10)
repomd.xml
        3735 100%   16.81kB/s    0:00:00 (xfer#9, to-check=0/10)
                    
sent 228 bytes  received 24099321 bytes  1120909.26 bytes/sec
total size is 24094884  speedup is 1.00

Mit nachfolgendem Befehl, kann der so eben transferierte Inhalt, angezeigt werden:

# ls -la /tmp/test

:!: HINWEIS - Mit nachfolgendem Befehl sollte der so eben transferierte Inhalt, wieder gelöscht werden, da dies NUR ein Test sein sollte, und sich die Daten im FALSCHEN Verzeichnis befinden !!!:

# rm /tmp/test -rf
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/repository_spiegeln_centos_7.1418390082.txt.gz · Zuletzt geändert: 2014/12/12 14:14 von klaus