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
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
rhncfg-manager mode --help rhncfg-manager mode --help rhncfg-manager mode --help
Ersetzen Sie mode mit dem Namen des Modus, der kontrolliert werden soll:
rhncfg-manager diff-revisions --help
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 Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Um einen Konfig-Channel für Ihr Unternehmen zu erstellen, führen Sie folgenden Befehl aus:
rhncfg-manager create-channel channel-label
rhncfg-manager create-channel channel-label 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
Red Hat Network username: rhn-user Password: Creating config channel channel-label Config channel channel-label created Red Hat Network username: rhn-user Password: Creating config channel channel-label Config channel channel-label created Red Hat Network username: rhn-user Password: Creating config channel channel-label Config channel channel-label created Red Hat Network username: rhn-user Password: Creating config channel channel-label Config channel channel-label created 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 Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
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
rhncfg-manager add --channel=channel-label /path/to/file rhncfg-manager add --channel=channel-label /path/to/file rhncfg-manager add --channel=channel-label /path/to/file 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
rhncfg-manager add --channel=channel-label--dest-file=/new/path/to/file.txt/path/to/file rhncfg-manager add --channel=channel-label--dest-file=/new/path/to/file.txt/path/to/file rhncfg-manager add --channel=channel-label--dest-file=/new/path/to/file.txt/path/to/file 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
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:
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
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 Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
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
rhncfg-manager diff --channel=channel-label --dest-file=/path/to/file.txt \ /local/path/to/file rhncfg-manager diff --channel=channel-label --dest-file=/path/to/file.txt \ /local/path/to/file rhncfg-manager diff --channel=channel-label --dest-file=/path/to/file.txt \ /local/path/to/file rhncfg-manager diff --channel=channel-label --dest-file=/path/to/file.txt \ /local/path/to/file rhncfg-manager diff --channel=channel-label --dest-file=/path/to/file.txt \ /local/path/to/file 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
/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:
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 Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
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
rhncfg-manager diff-revisions -n=channel-label1-r=1-n=channel-label2-r=1/path/to/file.txt rhncfg-manager diff-revisions -n=channel-label1-r=1-n=channel-label2-r=1/path/to/file.txt rhncfg-manager diff-revisions -n=channel-label1-r=1-n=channel-label2-r=1/path/to/file.txt rhncfg-manager diff-revisions -n=channel-label1-r=1-n=channel-label2-r=1/path/to/file.txt rhncfg-manager diff-revisions -n=channel-label1-r=1-n=channel-label2-r=1/path/to/file.txt 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-----
--- /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:
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 Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
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 .
rhncfg-manager download-channel channel-label --topdir . rhncfg-manager download-channel channel-label --topdir . 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
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:
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 Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
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
rhncfg-manager get --channel=channel-label \ /tmp/dest_path/example-config.txt rhncfg-manager get --channel=channel-label \ /tmp/dest_path/example-config.txt 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 Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Um alle Dateien in einem Channel aufzulisten, führen Sie folgenden Befehl aus:
rhncfg-manager list channel-label
rhncfg-manager list channel-label rhncfg-manager list channel-label
Das Output sollte ungefähr so aussehen:
Files in config channel `example-channel3': /tmp/dest_path/example-config.txt
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:
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 Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Um alle Konfigurationskanäle Ihrer Organisation aufzulisten, führen Sie folgenden Befehl aus:
rhncfg-manager list-channels
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
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 Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
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
rhncfg-manager remove --channel=channel-label /tmp/dest_path/example-config.txt rhncfg-manager remove --channel=channel-label /tmp/dest_path/example-config.txt rhncfg-manager remove --channel=channel-label /tmp/dest_path/example-config.txt 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
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:
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 Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Um einen Konfig-Channel in Ihrer Organisation zu löschen, führen Sie folgenden Befehl aus:
rhncfg-manager remove-channel channel-label
rhncfg-manager remove-channel channel-label rhncfg-manager remove-channel channel-label rhncfg-manager remove-channel channel-label
Die Ausgabe sollte ungefähr so aussehen:
Removing config channel example-channel Config channel example-channel removed
Removing config channel example-channel Config channel example-channel removed
B.3.11. Die Anzahl der Datei-Revisionen ermitteln Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
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
rhncfg-manager revisions channel-label /tmp/dest_path/example-config.txt rhncfg-manager revisions channel-label /tmp/dest_path/example-config.txt 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
Analyzing files in config channel example-channel \ /tmp/dest_path/example-config.txt: 1
B.3.12. Eine Datei in einem Channel aktualisieren Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
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
rhncfg-manager update \ --channel=channel-label --dest-file=/path/to/file.txt /local/path/to/file rhncfg-manager update \ --channel=channel-label --dest-file=/path/to/file.txt /local/path/to/file rhncfg-manager update \ --channel=channel-label --dest-file=/path/to/file.txt /local/path/to/file rhncfg-manager update \ --channel=channel-label --dest-file=/path/to/file.txt /local/path/to/file rhncfg-manager update \ --channel=channel-label --dest-file=/path/to/file.txt /local/path/to/file 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
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:
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 Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
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
rhncfg-manager upload-channel --topdir=topdir channel-label rhncfg-manager upload-channel --topdir=topdir channel-label rhncfg-manager upload-channel --topdir=topdir channel-label 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
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:
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 |