Verständnisfrage OPSI Depot Server

kressevadder
Beiträge: 3
Registriert: 16 Nov 2018, 11:44

Verständnisfrage OPSI Depot Server

Beitragvon kressevadder » 16 Nov 2018, 12:28

Hallo,

irgendwie werde ich aus dem OPSI Depotserver nicht schlau.

Auf einem UCS Server habe ich ein Hauptdepot. Dort habe ich alles soweit eingerichtet, das ein Win unattended inst durchläuft, einige eigene Pakete installiert etc. Also läuft.

Nun möchte ich auf einem Slave (später mehr) ein Depot haben. UCS hat den OPSi auf dem Slave auch out of the Box als Depotserver installiert.

Allerdings werde ich aus der Synchronisation des Depots nicht schlau.

Scheinbar muss ich jetzt (vom Master aus oder auf dem Host des Depots selbst) jedes Paket auf dem Depot nachinstallierten.

Danach ist aber /var/lib/opsi/depot absolut leer. Hier lese ich nun in verschiedenen Quellen, das ich nochmal jedes Paket über den opsi-product-updater, oder opsi-product-manager auf das Depot schieben muss.

Also wie dem auch sei. Mein Verständnis von einem DepotServer wäre, das er einen Spiegel des Haupdepots vorhält und damit Ende - dumm wie ein Knäckebrot.

In meinem jugendlichen Leichtsinn habe ich jetzt einfach mal /var/lib/opsi/depot auf dem Slave gespiegelt. Als bootserver den Slave eingestellt und die Hosts im OPSI den SlaveDepot zugeordnet. Der Slave (DepotServer) macht jetzt genau was er soll - nur fürchte ich, das dies nicht ganz im Sinne des Erfinders ist.

Wie wäre den der offizielle Weg, um einfach ein "gespiegeltes Depot" auf einem Slave zu haben.

Schönen Gruß und Dank
Manfred

Benutzeravatar
n.wenselowski
uib-Team
Beiträge: 3195
Registriert: 04 Apr 2013, 12:15

Re: Verständnisfrage OPSI Depot Server

Beitragvon n.wenselowski » 16 Nov 2018, 14:20

Hi Manfred,

die Depotserver müssen nicht den gleichen Paketstand haben, weil es ja nach Einsatzszenario nicht notwendig ist. Stell dir vor du hast einen extra Server für die Netboot-Betankung, so dass die anderen Depots keine Netboot-Pakete benötigen, oder Server in unterschiedlichen Ländern, von denen nur einige länderspezifische Software beinhalten. Hier will ich in der Regel nicht alle Software auf allen Servern haben.
Dass alle Depots den gleichen Stand haben ist auch ein mögliches Szenario.

Es gibt zwei Varianten wie die Pakete auf den Depotserver gelangen können:
Der Push-Weg nutzt opsi-package-manager vom Paketierungsserver aus. Der Pull-Weg nutzt opsi-package-updater.
Beide Wege sind möglich, je nach Anforderungen machen unterschiedliche Wege Sinn.

Der einfachste Weg alle Server synchron zu halten ist in meinen Augen die Verwendung des Pull-Wegs auf den Depotservern. opsi-package-updater sollte zum Abgleich von einem anderen Server konfiguriert werden (vorbereitet über die Config-Datei /etc/opsi/package-updater.repos.d/opsi-server.repo - hier muss noch die ID des Referenz-Servers eingetragen und das Repo aktiviert werden; andere Repos würde ich deaktivieren).
Damit das regelmäßig abläuft bedient man sich einem systemd-Timer (in der alten Welt macht man auch mal einen cronjob...), der in gewünschten Abständen die Synchronisierung durchführt.

Das Mirrorn des Verzeichnisses würde ich schnell wieder auflösen, weil es dazu führen kann, dass die Server im Backend unterschiedliche Versionen anzeigen, die aber wiederum abweichen von den tatsächlich im Depot vorhandenen.


Gruß

Niko

Code: Alles auswählen

import OPSI

kressevadder
Beiträge: 3
Registriert: 16 Nov 2018, 11:44

Re: Verständnisfrage OPSI Depot Server

Beitragvon kressevadder » 23 Nov 2018, 11:30

Hallo Niko,

erstmal danke für deine Antwort.

Das Zusammenspiel mit den installed packages etc. habe ich glaube ich jetzt soweit durchschaut.

Code: Alles auswählen

opsi-package-updater list --packages-and-installationstatus


Liefert mir jetzt auf meinem Depotserver immer den gleichen Installationsstatus wie auf dem Master.

Aber /var/lib/opsi/depot ist völlig leer (Auf dem Depotserver). Wie bekomme ich jetzt den Depotserver dazu, sich die Dateien der installierten Pakete jetzt auch auf den Depotshare zu packen?

Gruß
Manfred

kressevadder
Beiträge: 3
Registriert: 16 Nov 2018, 11:44

Re: Verständnisfrage OPSI Depot Server

Beitragvon kressevadder » 23 Nov 2018, 12:08

Nachtrag:

Wenn ich auf dem OPSI Hauptserver z.B.

Code: Alles auswählen

root@ucs-ba-002:/var/lib/opsi/repository# opsi-package-manager -i -d ALL win10-x64_4.1.0.0-10.opsi
Ein Fehler ist aufgetreten:
   Fehler beim Bearbeiten von Install of package(s) /var/lib/opsi/repository/win10-x64_4.1.0.0-10.opsi on depot 'ucs-ba-002.xxx.de':
      Opsi rpc error: Backend error: Failed to install package '/var/lib/opsi/repository/win10-x64_4.1.0.0-10.opsi' on depot 'ucs-ba-002.xxx.de': Backend referential integrity error: ProductProperty with id 'boot_partition_label' for product 'win10-x64' not found
root@ucs-ba-002:/var/lib/opsi/repository#


ausführe (und diese Fehlermeldung erstmal ignoriere), dann ist auf meinem Depotserver in "/var/lib/opsi/depot" tatsächlich "win10-x64" vorhanden. Allerdings fehlen die hinzugefügten Dateien wie "installfiles", "winpe" oder additionalDrivers.

Benutzeravatar
n.wenselowski
uib-Team
Beiträge: 3195
Registriert: 04 Apr 2013, 12:15

Re: Verständnisfrage OPSI Depot Server

Beitragvon n.wenselowski » 26 Nov 2018, 12:30

Hi,

kressevadder hat geschrieben:

Code: Alles auswählen

opsi-package-updater list --packages-and-installationstatus


Liefert mir jetzt auf meinem Depotserver immer den gleichen Installationsstatus wie auf dem Master.

Aber /var/lib/opsi/depot ist völlig leer (Auf dem Depotserver). Wie bekomme ich jetzt den Depotserver dazu, sich die Dateien der installierten Pakete jetzt auch auf den Depotshare zu packen?

Ich würde den opsi-package-updater so konfigurieren, dass er sich gegen deinen Hauptserver abgleicht (Vorlage unter /etc/opsi/package-updater.repos.d/opsi-server.repo anpassen) und alle anderen Repos deaktivieren.
Dann kannst du folgende Befehle absetzen:

Code: Alles auswählen

opsi-package-updater -v download --force
opsi-package-manager --install /var/lib/opsi/repository/*.opsi



kressevadder hat geschrieben:Wenn ich auf dem OPSI Hauptserver z.B.

Code: Alles auswählen

root@ucs-ba-002:/var/lib/opsi/repository# opsi-package-manager -i -d ALL win10-x64_4.1.0.0-10.opsi
Ein Fehler ist aufgetreten:
   Fehler beim Bearbeiten von Install of package(s) /var/lib/opsi/repository/win10-x64_4.1.0.0-10.opsi on depot 'ucs-ba-002.xxx.de':
      Opsi rpc error: Backend error: Failed to install package '/var/lib/opsi/repository/win10-x64_4.1.0.0-10.opsi' on depot 'ucs-ba-002.xxx.de': Backend referential integrity error: ProductProperty with id 'boot_partition_label' for product 'win10-x64' not found
root@ucs-ba-002:/var/lib/opsi/repository#


ausführe (und diese Fehlermeldung erstmal ignoriere), dann ist auf meinem Depotserver in "/var/lib/opsi/depot" tatsächlich "win10-x64" vorhanden. Allerdings fehlen die hinzugefügten Dateien wie "installfiles", "winpe" oder additionalDrivers.

Das ist eine interessante Fehlermeldung. Bleibt die bestehen bei einem erneuten Versuch?

Bzgl. der zu ergänzenden Dateien: die sind nicht Teil des .opsi-Pakets und die musst du anders auf den Depot-Server bekommen (auch hier können pro Depot andere Medien gewünscht sein). Das allerdings nur einmalig, da diese Ordner bei dem Update des Produkts bestehen bleiben.


Gruß

Niko

Code: Alles auswählen

import OPSI

AlBit
Beiträge: 8
Registriert: 15 Jul 2019, 10:49

Re: Verständnisfrage OPSI Depot Server

Beitragvon AlBit » 15 Okt 2019, 10:58

Habe es genauso gemacht. opsi-server.repo aktiviert und den Rest deaktiviert. Dann das:

Code: Alles auswählen

opsi-package-updater -v download --force
opsi-package-manager --install /var/lib/opsi/repository/*.opsi

Die Standardpackages werden dann tatsächlich rübergezogen und installiert. Jedoch nicht meine eigene Packages.
Mit "opsi-package-manager -D -d ALL" bekomme ich tatsächlich auch die Meldung welche Packages nicht installiert sind.
Ich möchte bloß, dass mein zweiter Depotserver am zweiten Standort genau die selben Packages enthält wie das Hauptdepot.

Benutzeravatar
n.wenselowski
uib-Team
Beiträge: 3195
Registriert: 04 Apr 2013, 12:15

Re: Verständnisfrage OPSI Depot Server

Beitragvon n.wenselowski » 16 Okt 2019, 11:22

AlBit hat geschrieben:Habe es genauso gemacht. opsi-server.repo aktiviert und den Rest deaktiviert. Dann das:

Code: Alles auswählen

opsi-package-updater -v download --force
opsi-package-manager --install /var/lib/opsi/repository/*.opsi

Die Standardpackages werden dann tatsächlich rübergezogen und installiert. Jedoch nicht meine eigene Packages.
Mit "opsi-package-manager -D -d ALL" bekomme ich tatsächlich auch die Meldung welche Packages nicht installiert sind.
Ich möchte bloß, dass mein zweiter Depotserver am zweiten Standort genau die selben Packages enthält wie das Hauptdepot.

Hast du deine eigenen Pakete auch auf den Hauptserver geladen (opsi-package-manager --upload) oder dort nur installiert?

Code: Alles auswählen

import OPSI

AlBit
Beiträge: 8
Registriert: 15 Jul 2019, 10:49

Re: Verständnisfrage OPSI Depot Server

Beitragvon AlBit » 17 Okt 2019, 11:16

Habe die mit dem Opsi-Package-Builder (Windows-Programm) gebaut und dann installiert.

Benutzeravatar
n.wenselowski
uib-Team
Beiträge: 3195
Registriert: 04 Apr 2013, 12:15

Re: Verständnisfrage OPSI Depot Server

Beitragvon n.wenselowski » 17 Okt 2019, 12:25

Na, dann lad's mal hoch!

Code: Alles auswählen

import OPSI

Benutzeravatar
skranz1982
Beiträge: 61
Registriert: 09 Okt 2014, 08:01

Re: Verständnisfrage OPSI Depot Server

Beitragvon skranz1982 » 17 Okt 2019, 12:28

AlBit hat geschrieben:Habe die mit dem Opsi-Package-Builder (Windows-Programm) gebaut und dann installiert.
Dann liegen deine Pakete nicht im /repository/-Verzeichnis, wenn ich mich nicht täusche. Probiere es mal mit dem Upload-Vorschlag von Nico, dann sollten sie auch dort landen.
Sebastian Kranz,
civitec Zweckverband kommunale Datenverarbeitung
www.civitec.de