[Gelöst] create_driver_links.py und Verzeichnis buildin

Antworten
martin_esp
Beiträge: 77
Registriert: 31 Dez 2010, 09:45

[Gelöst] create_driver_links.py und Verzeichnis buildin

Beitrag von martin_esp »

Hallo zusammen,

ich habe einen neuen OPSI-Server aufgesetzt auf Basis der VM (Stand 01.04.2013) von uib.
Alle Komponenten sind aktuell:
  • opsi-atftpd 0.7.dfsg-2.1
    opsi-configed 4.0.3.2.1-1
    opsi-depotserver 4.0.3.1-1
    opsi-linux-bootimage 20130207-1
    opsi-nagios-plugins 4.0.2.1-1
    opsi-utils 4.0.3.1-1
    opsiconfd 4.0.3.1-1
    opsipxeconfd 4.0.3.1-1
    python-opsi 4.0.3.1-1
Beispielhaft für nachfolgendes Paket:
win8-x64 4.0.3-2 Windows
tritt nachfolgendes Problem auf (auch bei win7-x64)

Beim Ausführen des scripts create_driver_links.py wird das Verzeichnis buildin nicht mit Treiberdateien gefüllt (buildin habe ich vorher gelöscht, Installationsdateien von Windows 8 x64 vorhanden).
Auf einer anderen OPSI-Installation läuft das ohne Probleme, Verzeichnis buildin wird gefüllt.

Mir fällt nur auf das die Datei win8-x64.files auf dem neu aufgesetzten OPSI-Server wesentlich kleiner ist, als auf der anderen OPSI-Installation.

Hat jemand einen Tipp oder Idee wo ich noch suchen kann, vielleicht gibt es ja auch eine Trace-Option für create_driver_links.py
Danke im voraus.

mfg,
martin_esp
Zuletzt geändert von martin_esp am 19 Jun 2013, 16:15, insgesamt 2-mal geändert.
martin_esp
Beiträge: 77
Registriert: 31 Dez 2010, 09:45

Re: create_driver_links.py und Verzeichnis buildin

Beitrag von martin_esp »

Nachtrag:
create_driver_links.py hat Optionen und ich die Option -d Debugging eingesetzt.
Demnach ist es so das in der boot.wim nichts gefunden wird, obwohl diese Datei völlig indentisch und die gleichen Rechte hat wie auf dem anderen OPSI-System.
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: create_driver_links.py und Verzeichnis buildin

Beitrag von n.wenselowski »

Hallo martin_esp,

hast du einen winpe-Ordner mit entsprechenden Dateien darin?
Sind die Rechte mittels opsi-setup --set-rights gesetzt worden?

Abgesehen von -d kann man create_driver_links.py auch mehrfach ein -v übergeben, wobei jedes -v die Menge an Ausgaben erhöhen sollte. ;)


Gruß

NW

Code: Alles auswählen

import OPSI
martin_esp
Beiträge: 77
Registriert: 31 Dez 2010, 09:45

Re: create_driver_links.py und Verzeichnis buildin

Beitrag von martin_esp »

n.wenselowski hat geschrieben:Hallo martin_esp,

hast du einen winpe-Ordner mit entsprechenden Dateien darin?
Sind die Rechte mittels opsi-setup --set-rights gesetzt worden?
Hallo NW,
alle Fragen kann ich mit Ja beantworten.

anbei die Ausgabe mit -vvv

Code: Alles auswählen

root@opsimobil:/opt/pcbin/install/win8-x64# ./create_driver_links.py -vvv
Command 'wget' found at: '/usr/bin/wget'
Command '7z' found at: '/usr/bin/7z'
Executing: /usr/bin/7z
Using encoding 'UTF-8'
>>>
>>> 7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
>>> p7zip Version 9.20 (locale=de_DE.UTF8,Utf16=on,HugeFiles=on,1 CPU)
>>>
>>> Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
>>>        [<@listfiles...>]
>>>
>>> <Commands>
>>>   a: Add files to archive
>>>   b: Benchmark
>>>   d: Delete files from archive
>>>   e: Extract files from archive (without using directory names)
>>>   l: List contents of archive
>>>   t: Test integrity of archive
>>>   u: Update files to archive
>>>   x: eXtract files with full paths
>>> <Switches>
>>>   -ai[r[-|0]]{@listfile|!wildcard}: Include archives
>>>   -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
>>>   -bd: Disable percentage indicator
>>>   -i[r[-|0]]{@listfile|!wildcard}: Include filenames
>>>   -m{Parameters}: set compression Method
>>>   -o{Directory}: set Output directory
>>>   -p{Password}: set Password
>>>   -r[-|0]: Recurse subdirectories
>>>   -scs{UTF-8 | WIN | DOS}: set charset for list files
>>>   -sfx[{name}]: Create SFX archive
>>>   -si[{name}]: read data from stdin
>>>   -slt: show technical information for l (List) command
>>>   -so: write data to stdout
>>>   -ssc[-]: set sensitive case mode
>>>   -t{Type}: Set type of archive
>>>   -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
>>>   -v{Size}[b|k|m|g]: Create volumes
>>>   -w[{path}]: assign Work directory. Empty path means a temporary directory
>>>   -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
>>>   -y: assume Yes on all queries
Exit code: 0
Found 7-zip version: 9.20
Unfulfilled condition: 9.20-0 < 4.49-0
Extracting windows inf files
Executing: /usr/bin/7z l 'winpe/sources/boot.wim' '1/Windows/System32/DriverStore/FileRepository'
Using encoding 'UTF-8'
>>>
>>> 7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
>>> p7zip Version 9.20 (locale=de_DE.UTF8,Utf16=on,HugeFiles=on,1 CPU)
>>>
>>> Listing archive: winpe/sources/boot.wim
>>>
>>> --
>>> Path = winpe/sources/boot.wim
>>> Type = wim
>>> Size = 440221681
>>> Packed Size = 145087229
>>> Method = LZX
>>> Created = 2010-11-20 17:17:37
>>> Modified = 2012-12-29 12:46:44
>>> Comment = <WIM><TOTALBYTES>148464971</TOTALBYTES><IMAGE INDEX="1"><DIRCOUNT>2061</DIRCOUNT><FILECOUNT>9203</FILECOUNT><TOTALBYTES>890418885</TOTALBYTES><HARDLINKBYTES>294529748</HARDLINKBYTES><CREATIONTIME><HIGHPART>0x01CB88CE</HIGHPART><LOWPART>0x72895BE7</LOWPART></CREATIONTIME><LASTMODIFICATIONTIME><HIGHPART>0x01CDE5BA</HIGHPART><LOWPART>0x2D1D7294</LOWPART></LASTMODIFICATIONTIME><WINDOWS><ARCH>9</ARCH><PRODUCTNAME>Betriebssystem Microsoft® Windows®</PRODUCTNAME><EDITIONID>WindowsPE</EDITIONID><INSTALLATIONTYPE>WindowsPE</INSTALLATIONTYPE><PRODUCTTYPE>WinNT</PRODUCTTYPE><PRODUCTSUITE></PRODUCTSUITE><LANGUAGES><LANGUAGE>de-DE</LANGUAGE><DEFAULT>de-DE</DEFAULT></LANGUAGES><VERSION><MAJOR>6</MAJOR><MINOR>1</MINOR><BUILD>7601</BUILD><SPBUILD>17514</SPBUILD><SPLEVEL>1</SPLEVEL></VERSION><SYSTEMROOT>WINDOWS</SYSTEMROOT></WINDOWS><NAME>Microsoft Windows PE (x64)</NAME><DESCRIPTION>Microsoft Windows PE (x64)</DESCRIPTION></IMAGE></WIM>
>>> Version = 1.13
>>> Multivolume = -
>>> Volume = 1
>>> Volumes = 1
>>>
>>>    Date      Time    Attr         Size   Compressed  Name
>>> ------------------- ----- ------------ ------------  ------------------------
>>> ------------------- ----- ------------ ------------  ------------------------
>>>                                      0            0  0 files, 0 folders
Exit code: 0
Searching for inf files
Parsing inf files
Setting owner of '/opt/pcbin/install/win8-x64/drivers/drivers' to '993:992'
Setting rights on directory '/opt/pcbin/install/win8-x64/drivers/drivers'
Setting owner of '/opt/pcbin/install/win8-x64/drivers/drivers/additional' to '993:992'
Setting rights on directory '/opt/pcbin/install/win8-x64/drivers/drivers/additional'
Setting owner of '/opt/pcbin/install/win8-x64/drivers/drivers/buildin' to '993:992'
Setting rights on directory '/opt/pcbin/install/win8-x64/drivers/drivers/buildin'
Setting owner of '/opt/pcbin/install/win8-x64/drivers/drivers/buildin/WINDOWS_BUILDIN' to '993:992'
Setting rights on file '/opt/pcbin/install/win8-x64/drivers/drivers/buildin/WINDOWS_BUILDIN'
Setting owner of '/opt/pcbin/install/win8-x64/drivers/drivers/preferred' to '993:992'
Setting rights on directory '/opt/pcbin/install/win8-x64/drivers/drivers/preferred'
Setting owner of '/opt/pcbin/install/win8-x64/drivers/drivers/excluded' to '993:992'
Setting rights on directory '/opt/pcbin/install/win8-x64/drivers/drivers/excluded'
Setting owner of '/opt/pcbin/install/win8-x64/drivers/pci.ids' to '993:992'
Setting rights on file '/opt/pcbin/install/win8-x64/drivers/pci.ids'
Setting owner of '/opt/pcbin/install/win8-x64/drivers/usb.ids' to '993:992'
Setting rights on file '/opt/pcbin/install/win8-x64/drivers/usb.ids'
mfg,
martin_esp
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: create_driver_links.py und Verzeichnis buildin

Beitrag von n.wenselowski »

Hallo martin_esp,

es sieht so aus, als enthalte das winpe keine Treiber.
Ich würde dieses nochmal überprüfen - im Getting Started-Dokument sind Informationen dazu unter http://download.uib.de/opsi_stable/doc/ ... e-packages zu finden.

Ansonsten sind unsere Support-Angebote natürlich wärmstens zu empfehlen!


Mit freundlichen Grüßen

N. Wenselowski

Code: Alles auswählen

import OPSI
martin_esp
Beiträge: 77
Registriert: 31 Dez 2010, 09:45

Re: create_driver_links.py und Verzeichnis buildin

Beitrag von martin_esp »

n.wenselowski hat geschrieben:Hallo martin_esp,
Ansonsten sind unsere Support-Angebote natürlich wärmstens zu empfehlen!
Grundsätzlich gebe ich Ihnen recht, das ab einem gewissen Hilfeumfang Ihre Unterstützung kostenpflichtig ist.

Ich habe aber zwischenzeitlich das Problem weiter analysiert und festgestellt, das das von Ihrem script aufgerufene 7z Programm eine andere Inhaltsausgabe hat, als eine ältere 7z Version.
Z.Zt. habe ich zwei OPSI-Server laufen, alle beide basierend auf Ihrer ausgelieferten VM. Der erste ist in etwa zwei Jahre alt (Ubuntu 10.04.1 LTS) , der kürzlich aufgesetzte OPSI-Server ist wie o.a. aus April 2013 (Ubuntu 12.04.2 LTS).
Auf beiden Servern ist eine identische ...win8-x64/winpe/sources/boot.wim vorhanden,
md5sum Prüfsummen Check
alter Server:
825c908bc53674b337859e8134a561c7 boot.wim
neuer Server:
825c908bc53674b337859e8134a561c7 boot.wim
Rechte sind auf beiden Servern gesetzt, wie in Ihrer Dokumentation angegeben.
Der Unterschied zwischen beiden Servern ist die Version des 7z Programmes:
alter Server:
7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=de_DE.UTF8,Utf16=on,HugeFiles=on,1 CPU)
neuer Server:
7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=de_DE.UTF8,Utf16=on,HugeFiles=on,1 CPU)
In der neuen Version wird im Archiv nichts gefunden weil das Script create_driver_links.py mit dem Befehl
/usr/bin/7z l 'winpe/sources/boot.wim' '1/Windows/System32/DriverStore/FileRepository'
zugreift. Die Option -l liefert aber in dieser Verson nicht "1/Windows" sondern
"Windows" dadurch wird in der boot.wim nichts gefunden.
Scriptauszug:
...for line in execute("%s l '%s' '%d/Windows/System32/DriverStore/FileRepository'" % (which('7z')....,
Die Frage die sich stellt,
- gibt es eine neueres OPSI-VM?
- Welche 7-Zip Version soll man nehmen (ist ja Auslieferungsbestandteil), bzw. updaten oder downgraden?
- oder muss das Script korrigiert werden?

Danke im voraus.

mfg,
martin_esp
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: create_driver_links.py und Verzeichnis buildin

Beitrag von n.wenselowski »

Hallo martin_esp,

vielen Dank für die Recherchen!

Ich habe ausgehend von Ihren Informationen ein bisschen geforscht. Vermutlich ab Version 9.14 von 7z tritt das geänderte Verhalten auf.

Es gibt ein internes Ticket zu diesem Sachverhalt, welches nun durch Ihr Problem höher Priorisiert wurde.
Das wird vermutlich in einer neuen Version des win8-Pakets in naher Zukunft resultieren.

Als schnelle Lösung kann create_driver_links.py angepasst werden.
Dabei muss die Zeile

Code: Alles auswählen

for line in execute("%s l '%s' '%d/Windows/System32/DriverStore/FileRepository'" % (which('7z'), imageFile, imageNum)):
geändert werden in

Code: Alles auswählen

for line in execute("%s l '%s' 'Windows/System32/DriverStore/FileRepository'" % (which('7z'), imageFile)):

Mit freundlichen Grüßen

N. Wenselowski


PS: Es gibt (noch) keine neue Server VM, Sie haben die aktuelle Version.

Code: Alles auswählen

import OPSI
martin_esp
Beiträge: 77
Registriert: 31 Dez 2010, 09:45

[Gelöst]: create_driver_links.py und Verzeichnis buildin

Beitrag von martin_esp »

n.wenselowski hat geschrieben: Es gibt ein internes Ticket zu diesem Sachverhalt, welches nun durch Ihr Problem höher Priorisiert wurde.
Das wird vermutlich in einer neuen Version des win8-Pakets in naher Zukunft resultieren.
Ich möchte noch ergänzend darauf hinweisen, das auch das win7-Paket betroffen ist. Ich habe dort die gleiche Änderung durchgeführt. Vista konnte ich leider nicht testen, ist aber sowieso obsolet. ;)

Jetzt funktioniert alles.
Besten Dank.

mfg,
martin_esp
Antworten