opsi-makepackage & symlinks

Antworten
larsg
Beiträge: 283
Registriert: 16 Dez 2014, 18:06

opsi-makepackage & symlinks

Beitrag von larsg »

Hi,

Ich hab mal eine Verständnisfrage:

wenn ich opsi-makepackage mit Parameter --follow-symlinks ausführe, werden statt der Symlinks im Paketverzeichnis die tatsächlichen Zieldateien in das Archiv übernommen.

Ich bin bislang davon ausgegangen, wenn ich den Parameter weglasse, wird stattdessen der Symlink in das Archiv übernommen - dies ist aber wie ich nun feststelle nicht der Fall, die Dateien werden bei mir dann einfach ausgelassen.

Ich weiss jedoch das es OPSI-Pakete gibt die Symlinks enthalten, und auch die MD5-datei für den WAN-Modus enthält ja die Möglichkeit Symlinks zu verarbeiten - wie also bekomme ich einen Symlink in ein OPSI-Paket?

im paketverzeichnis in der workbench:

Code: Alles auswählen

ls -la | grep "\->"
lrwxrwx--- 1 root vboxsf     0 Feb  7 07:47 common.opsiinc -> /var/lib/opsi/workbench/lib/CLIENT_DATA/common.opsiinc
lrwxrwx--- 1 root vboxsf     0 Feb  7 07:47 finalize.opsiinc -> /var/lib/opsi/workbench/lib/CLIENT_DATA/finalize.opsiinc
lrwxrwx--- 1 root vboxsf     0 Feb  7 07:47 initialize.opsiinc -> /var/lib/opsi/workbench/lib/CLIENT_DATA/initialize.opsiinc
lrwxrwx--- 1 root vboxsf     0 Feb  7 07:47 msi.opsiinc -> /var/lib/opsi/workbench/lib/CLIENT_DATA/msi.opsiinc
lrwxrwx--- 1 root vboxsf     0 Feb  7 07:47 version -> /var/lib/opsi/workbench/lib/CLIENT_DATA/version

Code: Alles auswählen

opsi-makepackage --log-level=6
info: Source dir: /media/packages/OPSI/crystal-reports-runtime-13016
info: Temp dir: /tmp
info: Custom name:
info: Archive format: cpio

Sperre Paket

Paket-Informationen
----------------------------------------------------------------------------
   version              : 1
   custom package name  :
   package dependencies :

Produkt-Informationen
----------------------------------------------------------------------------
   product id           : crystal-reports-runtime-13016
   product type         : localboot
   version              : 13.0.16
   name                 : SAP Crystal Reports Runtime
   description          :
   advice               :
   priority             : 0
   licenseRequired      : False
   product classes      :
   windows software ids :

Produkt-Skripte
----------------------------------------------------------------------------
   setup                : setup.opsiscript
   uninstall            : uninstall.opsiscript
   update               :
   always               :
   once                 :
   custom               :
   user login           :

Paket-Datei '/media/packages/OPSI/crystal-reports-runtime-13016/crystal-reports-runtime-13016_13.0.16-1.opsi' existiert bereits.

info: Writing opsi package control file '/media/packages/OPSI/crystal-reports-runtime-13016/OPSI/control'
Erzeuge Paket-Datei '/media/packages/OPSI/crystal-reports-runtime-13016/crystal-reports-runtime-13016_13.0.16-1.opsi'
info: Directory '/media/packages/OPSI/crystal-reports-runtime-13016/SERVER_DATA' does not exist

Creating archive CLIENT_DATA.cpio.gz
info: Executing: pigz --version
info: Using encoding 'UTF-8'
info: Executing: /bin/cpio --create --quiet --verbose --format crc | /usr/bin/pigz --rsyncable > "/tmp/.opsi.pack.tFAPc/CLIENT_DATA.cpio.gz"
info: Adding file 'common.opsiinc'                           ]
info: Adding file 'finalize.opsiinc'
info: Adding file 'initialize.opsiinc'                       ]
info: Adding file 'logo.png'                                 ]
info: Adding file 'msi.opsiinc'
info: Adding file 'setup'                                    ]
info: Adding file 'setup/CRRuntime_32bit_13_0_16.msi'
info: Adding file 'setup/CRRuntime_64bit_13_0_16.msi'
info: Adding file 'setup.opsiscript'
info: Adding file 'uninstall.opsiscript'                     ]
info: Adding file 'version'=======                           ]
ein höheres loglevel gibt leider auch nicht mehr info's zur erstellung der archivdatei :(

opsi-makepackage findet die Symlinks und fügt sie angeblich auch dem Paket hinzu, aber wenn ich das Paket z.b. in 7-Zip öffne oder auf einem Depot installiere, sind die Symlinks nicht enthalten.


edit:

ich denke ich hab die ursache gefunden, zumindest einen Teil davon - die workbench, also /var/lib/opsi/workbench ist bei mir ein symlink auf den oben zu sehenden pfad /media/packages/OPSI.
der OPSI-Server ist eine virtuelle maschine in VirtualBox und /media/packages/ ist ein via Freigabe eingebundener Ordner von einer Festplatte auf dem Host-System.

wenn ich statt dessen /var/lib/opsi/workbench als richtiges verzeichnis anlege und nutze, werden auch wieder symlinks in meine pakete gepackt.

ich kann auf der linux shell ohne probleme auf die symlink-dateien zugreifen und auch bearbeiten/speichern, die änderung landet auch in der echten datei, es ist also kein Berechtigungs- oder Zugriffsproblem - zumal ja auch der parameter --follow-symlinks funktioniert.

ist das nun ein bug seitens OPSI ? falls ja, braucht ihr noch weitere info's? und bitte in die entsprechende sektion verschieben.


Danke vorab,
LarsG
Antworten