Red Hat Training
A Red Hat training course is available for Red Hat Satellite
B.3. Red Hat Network Configuration Manager
Im Gegensatz zum Red Hat Network Configuration Client ist der Red Hat Network Configuration Manager (
rhncfg-manager
) dazu entworfen, das zentrale RHN Repository (Konfig-Dateien und Channels) zu warten. Dieses Tool stellt eine Befehlszeilen-Alternative zu den Konfigurationsmanagement-Features innerhalb der RHN-Website dar und ermöglicht ebenso das Erstellen eines Skript für einige oder auch alle damit in Verbindung stehenden Wartungsaufgaben.
Es ist für die Benutzung durch Konfig-Administratoren vorgesehen und erfordert tatsächlich RHN-Benutzername und -Passwort mit der entsprechenden Berechtigung. Der Benutzername kann in
/etc/sysconfig/rhn/rhncfg-manager.conf
oder im Abschnitt [rhncfg-manager] von ~/.rhncfgrc
festgelegt werden.
Wenn der Red Hat Network Configuration Manager als root abläuft, versucht dieser benötigte Konfigurationswerte vom Red Hat Update Agent einzuholen. Wenn der Red Hat Network Configuration Manager nicht als root ausgeführt wird, müssen Sie eventuell Konfigurationsänderungen innerhalb der
~/.rhncfgrc
-Datei durchführen. Die Sitzungsdatei ist in ~/.rhncfg-manager-session
zwischengespeichert, um zu verhindern, dass für jeden Befehl neu eingeloggt werden muss.
Das standardmäßige Timeout für den Red Hat Network Configuration Manager ist 30 Minuten. Um dies abzuändern, fügen Sie die Option
server.session_lifetime
und einen neuen Wert der /etc/rhn/rhn.conf
-Datei auf dem Server hinzu, auf dem der Manager abläuft, wie z. B.:
server.session_lifetime = 120
Der Red Hat Network Configuration Manager bietet diese grundlegenden Verfahren: add, create-channel, diff, diff-revisions, download-channel, get, list, list-channels, remove, remove-channel, revisions, update und upload-channel.
Jedes Verfahren besitzt einen eigenen Satz an Optionen, welche Sie unter Verwendung des folgenden Befehls sehen können:
rhncfg-manager mode --help
Ersetzen Sie mode mit dem Namen des Modus, der kontrolliert werden soll:
rhncfg-manager diff-revisions --help
Sie finden eine solche Liste von Optionen für das add-Verfahren unter Tabelle B.4, »
rhncfg-manager add
Optionen«.
B.3.1. Einen Konfig-Channel erstellen
Um einen Konfig-Channel für Ihr Unternehmen zu erstellen, führen Sie folgenden Befehl aus:
rhncfg-manager create-channel channel-label
Wenn Sie nach Ihrem RHN-Benutzernamen und -Passwort gefragt werden, geben Sie diese ein. Sie sollten eine Ausgabe erhalten, der wie folgt aussieht:
Red Hat Network username: rhn-user Password: Creating config channel channel-label Config channel channel-label created
Sobald Sie einen Konfig-Channel erstellt haben, stehen Ihnen die verbleibenden, oben aufgelisteten Verfahren zur Verfügung, um diesen Channel zu belegen und zu warten.
B.3.2. Dateien einem Konfig-Channel hinzufügen
Um eine Datei einem Konfig-Channel hinzuzufügen, müssen Sie das Channel-Label sowie auch die lokale Datei zum Hochladen festlegen, wie z. B.:
rhncfg-manager add --channel=channel-label
/path/to/file
Zusätzlich zum erforderlichen Channel-Label und Pfad für die Datei, können Sie die verfügbaren Optionen zur Modifikation der Datei benutzen. Beispielsweise können Sie den Pfad und den Dateinamen abändern, indem Sie die
--dest-file
-Option zum Befehl hinzufügen:
rhncfg-manager add --channel=channel-label
--dest-file=/new/path/to/file.txt
/path/to/file
Die Ausgabe sollte ungefähr so aussehen:
Pushing to channel example-channel Local file >/path/to/file -> remote file /new/path/to/file.txt
Die folgende Tabelle listet alle für
rhncfg-manager add
erhältlichen Optionen:
Tabelle B.4. rhncfg-manager add
Optionen
Option | Beschreibung |
---|---|
-cCHANNEL --channel=CHANNEL | Lade Dateien in diesen Konfig-Channel hoch |
-dDEST_FILE --dest-file=DEST_FILE | Lade die Datei als diesen Pfad hoch |
--delim-start=DELIM_START | Starte Delimiter für variable Interpolation. |
--delim-end=DELIM_END | Beende Delimeter für varibale Interpolation. |
-h, --help | Zeige Hilfe und steige aus |
Anmerkung
Standardmäßig beträgt die maximale Dateigröße für Konfigurationsdateien 128KB. Falls Sie diesen Wert ändern müssen, finden oder erstellen Sie die folgende Zeile in der Datei
/etc/rhn/rhn.conf
:
web.maximum_config_file_size=128
Ändern Sie den Wert von 128 in den Wert in Bytes, den Sie als Limit möchten.
B.3.3. Zwischen den neuesten Konfig Dateien unterscheiden
Um den Unterschiede zwischen den Konfig-Dateien auf Platte und den neuesten Revisionen in einem Channel ausfindig zu machen, führen Sie folgenden Befehl aus:
rhncfg-manager diff --channel=channel-label
--dest-file=/path/to/file.txt
\ /local/path/to/file
Das Output sollte ungefähr so aussehen:
/tmp/dest_path/example-config.txt /home/test/blah/hello_world.txt --- /tmp/dest_path/example-config.txt config_channel: example-channel revision: 1 +++ /home/test/blah/hello_world.txt 2003-12-14 19:08:59.000000000 -0500 @@ -1 +1 @@ -foo +hello, world
Die folgende Tabelle listet alle für
rhncfg-manager diff
erhältichen Optionen:
Tabelle B.5. rhncfg-manager diff
Optionen
Option | Beschreibung |
---|---|
-cCHANNEL, --channel=CHANNEL | Hole Datei(en) von diesem Konfig-Channel |
-rREVISION, --revision=REVISION | Verwende diese Revision |
-dDEST_FILE, --dest-file=DEST_FILE | Lade die Datei als diesen Pfad hoch |
-tTOPDIR, --topdir=TOPDIR | Alle Dateien müssen diesem String entsprechen |
-h, --help | Zeige Hilfe und beende |
B.3.4. Zwischen verschiedenen Versionen unterscheiden
Um verschiedene Versionen einer Datei quer durch Channels und Revisionen zu vergleichen, benutzen Sie die
-r
Option, um zu bestimmen, welche Revision der Datei verglichen werden soll und die -n
Option, um die beiden Kanäle zu bestimmen, die überprüft werden sollen. Siehe Abschnitt B.3.11, »Die Anzahl der Datei-Revisionen ermitteln« für Instruktionen diesbezüglich. Beachten Sie, dass Sie hier nur einen Dateinamen festlegen, da Sie die Datei mit einer anderen Version dieser Datei vergleichen, wie beispielsweise:
rhncfg-manager diff-revisions -n=channel-label1
-r=1
-n=channel-label2
-r=1
/path/to/file.txt
Die Ausgabe sollte ungefähr so aussehen:
--- /tmp/dest_path/example-config.txt 2004-01-13 14:36:41 \ config channel: example-channel2 revision: 1 --- /tmp/dest_path/example-config.txt 2004-01-13 14:42:42 \ config channel: example-channel3 revision: 1 @@ -1 +1,20 @@ -foo +blaaaaaaaaaaaaaaah +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.0.6 (GNU/Linux) +Comment: For info see http://www.gnupg.org + +iD8DBQA9ZY6vse4XmfJPGwgRAsHcAJ9ud9dabUcdscdcqB8AZP7e0Fua0NmKsdhQCeOWHX +VsDTfen2NWdwwPaTM+S+Cow= +=Ltp2 +-----END PGP SIGNATURE-----
Die folgende Tabelle listet die für
rhncfg-manager diff-revisions
erhältlichen Optionen:
Tabelle B.6. rhncfg-manager diff-revisions
Optionen
Option | Beschreibung |
---|---|
-cCHANNEL, --channel=CHANNEL | Verwende diesen Konfig-Channel |
-rREVISION, --revision=REVISION | Verwende diese Revision |
-h, --help | Zeige Hilfe und beende |
B.3.5. Alle Dateien werden in einem Channel heruntergeladen
Um sämtliche Dateien in einem Channel auf Platte herunterzuladen, erzeugen Sie ein Verzeichnis und führen Sie folgenden Befehl aus:
rhncfg-manager download-channel channel-label --topdir .
Die Ausgabe sollte ungefähr so aussehen:
Copying /tmp/dest_path/example-config.txt -> \ blah2/tmp/dest_path/example-config.txt
Die folgende Tabelle listet die für
rhncfg-manager download-channel
erhältlichen Optionen:
Tabelle B.7. rhncfg-manager download-channel
Optionen
Option | Beschreibung |
---|---|
-tTOPDIR, --topdir=TOPDIR | Verzeichnis zu dem alle Dateipfade relativ sind. Diese Option muss eingestellt sein. |
-h, --help | Zeige Hilfe und beende |
B.3.6. Die Inhalte einer Datei erhalten
Um die Inhalte einer bestimmten Datei auf stdout (Standardausgabe) umzulenken, führen Sie folgenden Befehl aus:
rhncfg-manager get --channel=channel-label
\ /tmp/dest_path/example-config.txt
Sie sollten die Inhalte der Datei als Ausgabe sehen.
B.3.7. Alle Dateien in einem Channel auflisten
Um alle Dateien in einem Channel aufzulisten, führen Sie folgenden Befehl aus:
rhncfg-manager list channel-label
Das Output sollte ungefähr so aussehen:
Files in config channel `example-channel3': /tmp/dest_path/example-config.txt
Die folgende Tabelle listet die für
rhncfg-manager get
erhältlichen Optionen:
Tabelle B.8. rhncfg-manager get
Optionen
Option | Beschreibung |
---|---|
-cCHANNEL, --channel=CHANNEL | Hole Datei(en) von diesem Konfig-Channel |
-tTOPDIR, --topdir=TOPDIR | Alle Dateien müssen diesem String entsprechen |
-rREVISION, --revision=REVISION | Hole diese Datei-Revision |
-h, --help | Zeige Hilfe und beende |
B.3.8. Alle Konfig-Channels auflisten
Um alle Konfigurationskanäle Ihrer Organisation aufzulisten, führen Sie folgenden Befehl aus:
rhncfg-manager list-channels
Die Ausgabe sollte ungefähr so aussehen:
Available config channels: example-channel example-channel2 example-channel3 config-channel-14 config-channel-17
Beachten Sie, dass dies keine
local_override
oder server_import
-Channels auflistet.
B.3.9. Eine Datei vom Channel entfernen
Um eine Datei von einem Channel zu entfernen, führen Sie folgenden Befehl aus:
rhncfg-manager remove --channel=channel-label
/tmp/dest_path/example-config.txt
Wenn Sie nach Ihrem RHN-Benutzernamen und -Passwort gefragt werden, geben Sie diese ein. Sie sollten einen Output erhalten, der wie folgt aussieht:
Red Hat Network username: rhn-user Password: Removing from config channel example-channel3 /tmp/dest_path/example-config.txt removed
Die folgende Tabelle listet die für
rhncfg-manager remove
erhältlichen Optionen:
Tabelle B.9. rhncfg-manager remove
Optionen
Option | Beschreibung |
---|---|
-cCHANNEL, --channel=CHANNEL | Entferne Dateien von diesem Konfig-Channel |
-tTOPDIR, --topdir=TOPDIR | Alle Dateien müssen diesem String entsprechen |
-h, --help | Zeige Hilfe und beende |
B.3.10. Einen Konfig-Channel löschen
Um einen Konfig-Channel in Ihrer Organisation zu löschen, führen Sie folgenden Befehl aus:
rhncfg-manager remove-channel channel-label
Die Ausgabe sollte ungefähr so aussehen:
Removing config channel example-channel Config channel example-channel removed
B.3.11. Die Anzahl der Datei-Revisionen ermitteln
Um herauszufinden wieviele Revisionen (Revisionen gehen von 1 bis N, wobei N eine Ganzzahl größer als 0 ist) einer Datei oder eines Pfads sich in einem Channel befinden, führen Sie folgenden Befehl aus:
rhncfg-manager revisions channel-label /tmp/dest_path/example-config.txt
Die Ausgabe sollte ungefähr so aussehen:
Analyzing files in config channel example-channel \ /tmp/dest_path/example-config.txt: 1
B.3.12. Eine Datei in einem Channel aktualisieren
Um eine neue Revision einer Datei in einem Channel zu erzeugen (oder um die erste Revision hinzuzufügen, wenn zuvor noch keine Revision für den jeweiligen Pfad existiert hat), führen Sie folgenden Befehl aus:
rhncfg-manager update \ --channel=channel-label
--dest-file=/path/to/file.txt
/local/path/to/file
Die Ausgabe sollte ungefähr so aussehen:
Pushing to channel example-channel: Local file example-channel/tmp/dest_path/example-config.txt -> \ remote file /tmp/dest_path/example-config.txt
Die folgende Tabelle listet die für
rhncfg-manager update
erhältlichen Optionen:
Tabelle B.10. rhncfg-manager update
Optionen
Option | Beschreibung |
---|---|
-cCHANNEL, --channel=CHANNEL | Lade Dateien in diesen Konfig-Channel hoch |
-dDEST_FILE, --dest-file=DEST_FILE | Lade die Datei als diesen Pfad hoch |
-tTOPDIR, --topdir=TOPDIR | Alle Dateien müssen diesem String entsprechen |
--delim-start=DELIM_START | Starte Delimiter für variable Interpolation. |
--delim-end=DELIM_END | Beende Delimeter für varibale Interpolation. |
-h, --help | Zeige Hilfe und beende |
B.3.13. Mehrere Datein aufeinmal hochladen
Um mehrere Dateien von einer lokalen Platte auf einen Konfig-Channel hochzuladen, führen Sie folgenden Befehl aus:
rhncfg-manager upload-channel --topdir=topdir
channel-label
Die Ausgabe sollte ungefähr so aussehen:
Using config channel example-channel4 Uploading /tmp/ola_world.txt from blah4/tmp/ola_world.txt
Die folgende Tabelle listet die für
rhncfg-manager upload-channel
erhältlichen Optionen:
Tabelle B.11. rhncfg-manager upload-channel
Optionen
Option | Beschreibung |
---|---|
-tTOPDIR, --topdir=TOPDIR | Verzeichnis zu dem alle Dateipfade relativ sind |
-cCHANNEL, --channel=CHANNEL | Liste von Channel in welche die Konfig-Info hochgeladen wird. Channels durch ',' abgegrenzt. Example: --channel=foo,bar,baz |
-h, --help | Zeige Hilfe und beende |