Viele Details werden hier verfolgt.
macOS 10.13.3
$ packer --version
1.2.1
$ vboxmanage --version
5.2.8r121009
Debug1.log
Das obige Protokoll als Kern
Debug2.log
Das obige Protokoll als Kern
"keep_input_artifact": true
HFS + Dateisystem
output-virtualbox-iso /
$ ls -l
total 21220296
-rw-r--r-- 1 tanner staff 10864777216 Mar 5 18:46 WindowsServer2016Docker-disk001.vmdk
-rwx------ 1 tanner staff 10412 Mar 5 18:23 WindowsServer2016Docker.ovf
`` `Shell
$ ls -l * .box
-rw-r - r-- 1 Gerberstab 10729788371 5. MĂ€rz 18:56 windows_2016_docker_virtualbox.box
```shell
$ tar -tvf windows_2016_docker_virtualbox.box
-rw-r--r-- 0 tanner staff 2286 Mar 5 18:51 Vagrantfile
-rw-r--r-- 0 tanner staff 0 Mar 5 18:51 WindowsServer2016Docker-disk001.vmdk
-rw-r--r-- 0 tanner staff 10412 Mar 5 18:51 box.ovf
-rw-r--r-- 0 tanner staff 26 Mar 5 18:51 metadata.json
Die TAR-Datei wird intern erstellt. Könnten wir in Packer (oder Golang) eine DateigröĂenbeschrĂ€nkung erreichen?
Die Packer-Build-Datei: windows_2016_docker.json .
@StefanScherer
Oh, ich kann das Problem unter macOS 10.13.3 und APFS, Packer 1.2.1, VirtualBox 5.2.8 wiederholen
$ packer build --only=virtualbox-iso windows_2016_docker.json
$ ls -l windows_2016_docker_virtualbox.box
-rw-r--r-- 1 stefan staff 10146394489 Mar 8 12:16 windows_2016_docker_virtualbox.box
$ tar tvf windows_2016_docker_virtualbox.box
-rw-r--r-- 0 stefan staff 2286 Mar 8 12:16 Vagrantfile
-rw-r--r-- 0 stefan staff 0 Mar 8 12:16 WindowsServer2016Docker-disk001.vmdk
-rw-r--r-- 0 stefan staff 10411 Mar 8 12:16 box.ovf
-rw-r--r-- 0 stefan staff 26 Mar 8 12:16 metadata.json
Ich habe es mit einer Àlteren Packer-Version 1.1.3, immer noch MacOS 10.13.3 und APFS, VirtualBox 5.2.8, wiederholt und die Box-Datei sieht danach gut aus:
$ ls -l *box
-rw-r--r-- 1 stefan staff 10817278351 Mar 11 14:28 windows_2016_docker_virtualbox.box
$ tar tvf windows_2016_docker_virtualbox.box
-rw-r--r-- 0 501 20 2286 Mar 11 14:27 Vagrantfile
-rw-r--r-- 0 501 20 10952051712 Mar 11 14:27 WindowsServer2016Docker-disk001.vmdk
-rw-r--r-- 0 501 20 10412 Mar 11 14:27 box.ovf
-rw-r--r-- 0 501 20 26 Mar 11 14:27 metadata.json
~/code/packer-windows on my*
Was könnte der Unterschied zwischen Packer 1.1.3 und Packer 1.2.1 sein?
Unterscheidet sich die func DirToBox in 1.2.1 signifikant?
Sorry, nicht sehr gut mit Git, also weiĂ ich nicht, wie ich diesen Code aufrufen soll, wie du es getan hast
Eine Git-Schuld zeigt keine Ănderungen seit Packer 1.1.1 in Packer / Postprozessor / Vagrant / Util.go.
Packer 1.1.3 wird mit Go 1.9 kompiliert, Packer 1.2.1 wird mit Go 1.10 kompiliert.
Es sieht wirklich nach einem Problem mit Golang 1.10 aus.
Ich habe die Datei packer / postprozessor / vagrant / util.go in eine kleine Datei main.go extrahiert, die die Funktion DirToBox
ohne packer.Ui aufruft.
Wenn Sie diesen Code mit Golang 1.9 kompilieren, sieht die erstellte TAR-Datei gut aus.
Beim Kompilieren dieses Codes mit Golang 1.10 zeigt die TAR-Datei eine Null-Byte-Datei.
Das Problem tritt auch bei der Komprimierungsstufe = 0 auf, sodass es unabhÀngig vom pgzip-Paket ist.
Die Beispielquelle dirtobox.go
, das Skript Dockerfile
und build.sh
zum Erstellen der Darwin-BinĂ€rdatei finden Sie in dieser Ăbersicht: https://gist.github.com/StefanScherer/c55fd0ae752687c806f8d5fb40cadc78
Ich habe ein Beispielverzeichnis in
mit einer groĂen Datei erstellt, die BinĂ€rdatei dirtobox
fĂŒr Darwin kompiliert und den Test ausgefĂŒhrt
$ ./build.sh
$ ls -l in
total 21509960
-rw-r--r-- 1 stefan staff 11012556800 Mar 12 15:11 abigfile.tar
-rw-r--r-- 1 stefan staff 6 Mar 12 15:08 asmallfile.txt
$ ./dirtobox
2018/03/12 15:35:02 Turning dir into box: in => out.tar
2018/03/12 15:35:02 Skipping directory 'in' for box 'out.tar'
2018/03/12 15:35:02 Box add: 'in/abigfile.tar' to 'out.tar'
Compressing: %s abigfile.tar
2018/03/12 15:35:32 Box add: 'in/asmallfile.txt' to 'out.tar'
Compressing: %s asmallfile.txt
$ ls -l out.tar
-rw-r--r-- 1 stefan staff 11012560384 Mar 12 15:27 out.tar
$ tar tvf out.tar
-rw-r--r-- 0 stefan staff 0 Mar 12 15:11 abigfile.tar
-rw-r--r-- 0 stefan staff 6 Mar 12 15:08 asmallfile.txt
Ăndern der Dockerfile
zurĂŒck in Golang: 1.9
FROM golang:1.9
WORKDIR /go/src/app
COPY . .
RUN go get -d -v ./...
RUN GOOS=darwin go build dirtobox.go
Wenn Sie ./build.sh
und ./dirtobox
erneut ausfĂŒhren, wird eine korrekte TAR-Datei erstellt:
$ ls -l out.tar
-rw-r--r-- 1 stefan staff 11012559360 Mar 12 15:37 out.tar
$ tar tvf out.tar
-rw-r--r-- 0 501 20 11012556800 Mar 12 15:11 abigfile.tar
-rw-r--r-- 0 501 20 6 Mar 12 15:08 asmallfile.txt
Es scheint mit Dateien> 8 GByte zu passieren.
Zeit, eine Ausgabe bei Golang zu
Ausgezeichnetes Triaging @StefanScherer
Ich bin heute mit Vagrant auf ein sehr Ă€hnliches Problem gestoĂen - siehe HIER .
Kurz und gut, das in Vagrant 2.0.3 eingebettete Dienstprogramm tar hat Probleme beim Entpacken von Archiven mit groĂen Dateien. Wenn Sie bsdtar zum Extrahieren der Dateien aus dem Box-Tar-Archiv verwenden, erhalten Sie ein sehr schlankes VMDK mit null Byte! Kleinere Boxen verursachen keine Probleme.
Beachten Sie, dass der System- Tar keine Probleme beim Extrahieren der Dateien aus demselben Box- / Tar-Archiv hat ...
$ /opt/vagrant/embedded/bin/bsdtar --version
bsdtar 3.2.2 - libarchive 3.2.2 zlib/1.2.11 liblzma/5.2.3
$ tar --version
tar (GNU tar) 1.29
@StefanScherer - Sind Sie sicher, dass nicht die von Ihnen verwendete Tar-Version die Probleme verursacht?
@StefanScherer Nur als Referenz:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11.6
BuildVersion: 15G19009
$ go version
go version go1.10 darwin/amd64
$ packer version
Packer v1.2.2-dev...
@basictheprogram @StefanScherer Entschuldigung - HIER angesehen .
Das ist das gleiche Problem, das HIER gemeldet wurde - kein Packer-Problem!
Danke @DanHam fĂŒr das Heads-up.
Möglicherweise liegt ein Problem mit bsdtar unter macOS vor.
Das Problem in Packer scheint bei Golang 1.10 zu liegen. Es werden offensichtlich unterschiedliche TAR-Dateien zwischen Golang 1.9 und 1.10 erstellt.
Ich habe eine andere Go-BinÀrdatei von https://github.com/mholt/archiver/releases verwendet , um die TAR-Dateien zu extrahieren, die mit dem oben mit Golang 1.9 und 1.10 kompilierten Dirtobox-Beispielcode erstellt wurden.
Der Archivierer kann die Datei aus der mit der Dirtobox Golang 1.9-BinÀrdatei erstellten TAR-Datei extrahieren.
Und der Archivierer hat gerade eine leere Datei geschrieben, die die mit der Dirtobox Golang 1.10-BinÀrdatei erstellte TAR-Datei extrahiert.
In diesem Test war keine tar / bsdtar-BinÀrdatei enthalten.
Ein Test mit dem eingebetteten bsdtar meines Vagrant 2.0.2 kann auch groĂe Dateien extrahieren
$ /opt/vagrant/embedded/bin/bsdtar tvf out-go1.9.tar
-rw------- 0 501 20 10737418240 Mar 23 23:02 10Gigfile
$ /opt/vagrant/embedded/bin/bsdtar xvf out-go1.9.tar
x 10Gigfile
$ ls -l 10Gigfile
-rw------- 1 stefan staff 10737418240 Mar 23 23:02 10Gigfile
$ /opt/vagrant/embedded/bin/bsdtar tvf out-go1.10.tar
-rw------- 0 stefan staff 0 Mar 23 23:02 10Gigfile
$ /opt/vagrant/embedded/bin/bsdtar xvf out-go1.10.tar
x 10Gigfile
$ ls -l 10Gigfile
-rw------- 1 stefan staff 0 Mar 23 23:02 10Gigfile
@StefanScherer Ah ... OK. Ich dachte, wir hĂ€tten das weg erklĂ€rt! Viel GlĂŒck beim AufspĂŒren des Fehlers ...
Ich hatte das Problem kĂŒrzlich, kann aber mit der RĂŒckkehr zu Packer 1.1.3 keine Fortschritte erzielen. Ich nehme an, Sie haben keine anderen Ideen?
(Das Problem ist unter https://github.com/Parallels/vagrant-parallels/issues/319 dokumentiert, da ich dachte, es sei ein Plugin-Problem!)
Also noch etwas nachforschen;
Ich habe unter OSX 10.12 auf Packer 1.1.2 zurĂŒckgegriffen, und das hat es geschafft, eine stabile Box zu produzieren, die ich verwenden konnte.
Testen mit Packer 1.1.2 unter OSX 10.13 und das schlÀgt aus irgendeinem Grund fehl? Die Festplatte sagt, es ist 0
:
$ tar -tvf sdk-mac.box
-rw-r--r-- 0 user group 180 27 Mar 12:57 Vagrantfile
-rw-r--r-- 0 user group 25 27 Mar 12:57 metadata.json
-rw-r--r-- 0 user group 65536 27 Mar 12:56 sdk-mac.pvm/NVRAM.dat
-rw-r--r-- 0 user group 7224 27 Mar 12:56 sdk-mac.pvm/VmInfo.pvi
-rw-r--r-- 0 user group 26381 27 Mar 12:56 sdk-mac.pvm/config.pvs
-rw-r--r-- 0 user group 1710 27 Mar 12:56 sdk-mac.pvm/harddisk.hdd/DiskDescriptor.xml
-rw-r--r-- 0 user group 0 27 Mar 12:56 sdk-mac.pvm/harddisk.hdd/harddisk.hdd
-rw-r--r-- 0 user group 0 27 Mar 12:57 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds
-rw-r--r-- 0 user group 8816 27 Mar 12:57 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.drh
Sieht also definitiv so aus, als wĂ€re es irgendwo ein Packer-Problem ... wie gehen Sie beim Debuggen vor, da ich wirklich Vagabund fĂŒr diese Maschinen zum Laufen bringen muss!
Zu Ihrer Information. FĂŒr Sierra gibt es heute einen neuen Packer und Golang von Homebrew. Und neuer Packer fĂŒr High Sierra.
@basictheprogram Danke fĂŒr das Update!
Ich habe beide auf den neuesten Packer aktualisiert, der auf Homebrew (1.2.2) verfĂŒgbar ist.
Ich bin mir nicht sicher, was dieses Problem auĂer dem Unterschied im Betriebssystem noch verursachen könnte.
Was seltsam ist, ist, dass das AusfĂŒhren von $ tar .box
zeigt, dass fĂŒr beide Betriebssysteme die Festplatte eine GröĂe von 0
... aber das AusfĂŒhren von vagrant up
funktioniert gut fĂŒr die Sierra. (Beide fĂŒhren Vagrant 2.0.3 aus).
Sierra:
$ tar tvf sdk-mac.box
-rw-r--r-- 0 user group 180 27 Mar 15:25 Vagrantfile
-rw-r--r-- 0 user group 25 27 Mar 15:25 metadata.json
-rw-r--r-- 0 user group 65536 27 Mar 15:23 sdk-mac.pvm/NVRAM.dat
-rw-r--r-- 0 user group 7224 27 Mar 15:23 sdk-mac.pvm/VmInfo.pvi
-rw-r--r-- 0 user group 26385 27 Mar 15:23 sdk-mac.pvm/config.pvs
-rw-r--r-- 0 user group 1710 27 Mar 15:23 sdk-mac.pvm/harddisk.hdd/DiskDescriptor.xml
-rw-r--r-- 0 user group 0 27 Mar 15:23 sdk-mac.pvm/harddisk.hdd/harddisk.hdd
-rw-r--r-- 0 user group 0 27 Mar 15:25 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds
-rw-r--r-- 0 user group 6784 27 Mar 15:25 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.drh
Hohe Sierra:
$ tar tvf sdk-mac.box
-rw-r--r-- 0 user group 180 27 Mar 15:29 Vagrantfile
-rw-r--r-- 0 user group 25 27 Mar 15:29 metadata.json
-rw-r--r-- 0 user group 65536 27 Mar 15:29 sdk-mac.pvm/NVRAM.dat
-rw-r--r-- 0 user group 7224 27 Mar 15:29 sdk-mac.pvm/VmInfo.pvi
-rw-r--r-- 0 user group 26381 27 Mar 15:29 sdk-mac.pvm/config.pvs
-rw-r--r-- 0 user group 1710 27 Mar 15:29 sdk-mac.pvm/harddisk.hdd/DiskDescriptor.xml
-rw-r--r-- 0 user group 0 27 Mar 15:29 sdk-mac.pvm/harddisk.hdd/harddisk.hdd
-rw-r--r-- 0 user group 0 27 Mar 15:29 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds
-rw-r--r-- 0 user group 7728 27 Mar 15:29 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.drh
Auf Sierra Upgrade Packer installiert gehen.
$ sw_vers
Produktname: Mac OS X.
Produktversion: 10.12.6
BuildVersion: 16G1212
$ go Version
go version go1.10 darwin / amd64
Auf High Sierra wurde das Upgrade des Packers nicht installiert
$ sw_vers
Produktname: Mac OS X.
Produktversion: 10.13.3
BuildVersion: 17D102
$ welche gehen
$ ls -l / usr / local / bin / go *
ls: / usr / local / bin / go *: Keine solche Datei oder kein solches Verzeichnis
Ich habe go manuell installiert und die Dinge funktionieren jetzt fĂŒr mich.
Ich muss dies alles bei anderen Installationen bestÀtigen.
Packer 1.2.2 Binary fĂŒr MacOS (https://releases.hashicorp.com/packer/1.2.2/packer_1.2.2_darwin_amd64.zip) wird mit Golang 1.8.1 kompiliert. Ich gehe davon aus, dass es wieder funktionieren sollte.
Homebrew Packer 1.2.2 wurde mit Golang 1.10 kompiliert
Mann, warum mĂŒssen sie BinĂ€rdateien kompilieren, wenn BinĂ€rdateien bereits von HashiCorp bereitgestellt werden?
Tolle Nachforschungen, Leute. Es klingt fĂŒr mich so, als wĂ€re dies eher ein Fehler in Homebrew als ein Fehler in Packer - wĂŒrden Sie alle zustimmen? Soll ich dieses Ticket schlieĂen?
Ich denke, der Bug ist in Golang und der Packer ist mit einem Buggy Golang kompiliert. Hashicorp sollte seinen Packer mit Golang 1.10 kompilieren.
Klingt so, als ob die Buggy-BinÀrdatei von Homebrew stammt und die HashiCorp-BinÀrdatei funktioniert?
Jemand sollte die HashiCorp 1.2.2-BinÀrdatei testen. Kann es morgen testen.
Ich werde den HashiCorp 1.2.2 neu kompilieren und erneut veröffentlichen. binÀr auf Golang 1.10 jetzt. Wir sollten das auf dem neuesten Golang haben.
Hm, aber dann wird es wahrscheinlich als 1.2.1 kaputt sein.
Hier ist die Golang-1.8-kompilierte BinĂ€rdatei fĂŒr diejenigen, die eine Problemumgehung benötigen:
packer_1.2.2_darwin_amd64.zip . Die Veröffentlichung mit 1.8 kompiliert war ein Unfall, und nur weil es diesen Fehler behebt, heiĂt das nicht, dass es keine anderen einfĂŒhrt.
@basictheprogram Auf meinen Systemen war bereits go
installiert, als ich die PrĂŒfung durchfĂŒhrte:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.12.6
BuildVersion: 16G1212
$ go version
go version go1.10 darwin/amd64
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.3
BuildVersion: 17D102
$ go version
go version go1.10 darwin/amd64
Ich habe gerade die 1.8-kompilierte BinÀrdatei von Packer 1.2.2 @SwampDragons getestet, die oben veröffentlicht wurde:
Sierra: Vagrant Box schlÀgt fehl (Festplatte zu finden)
High Sierra: Die Vagabundkiste ist erneut ausgefallen (gleiches Problem)
Testen des mit 1.10 kompilierten Standardpackers 1.2.2:
Sierra: Vagrant Box schlÀgt fehl (Festplatte zu finden)
High Sierra: Die Vagabundkiste ist erneut ausgefallen (gleiches Problem)
Die .pvm
-Datei hat 16 GB, die komprimiert werden sollen, und die Ausgabebox hat 9 GB ...
Ich fange an zu denken, dass es jetzt etwas mit meinem System zu tun hat.
Kann jemand bestÀtigen, dass 1.2.2 funktioniert, und wenn ja, welches Setup?
(Seltsame Notiz; ich sagte frĂŒher, dass ich es mit Brew's Packer an Sierra arbeiten lieĂ, es funktioniert jetzt nicht ...)
@ SwampDragons wie erwartet:
docker run -it -v $(pwd):/test -w /test ubuntu tar tvf windows_2016_docker_virtualbox-brew-packer-1.2.2-golang-1.10.box
ausprobiert.@ SwampDragons Ich habe go 1.10 (ĂŒber MacPorts installiert) verwendet, um meine Packer-BinĂ€rdateien zu kompilieren. Wie oben erwĂ€hnt, kann ich ohne Probleme groĂe Kisten erstellen ...
@ SurferL Mein Setup:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11.6
BuildVersion: 15G19009
$ go version
go version go1.10 darwin/amd64
$ packer version
Packer v1.2.2-dev...
Wenn ich die Box (mit GNU tar) aus meinem Windows 2016-Build entpacke, habe ich folgende Möglichkeiten:
.
âââ [ 340] vmware_desktop
âââ [ 983] Vagrantfile
âââ [ 30] metadata.json
âââ [ 8684] windows2016-vmware-iso.nvram
âââ [13725794304] windows2016-vmware-iso.vmdk
âââ [ 0] windows2016-vmware-iso.vmsd
âââ [ 3515] windows2016-vmware-iso.vmx
âââ [ 277] windows2016-vmware-iso.vmxf
1 directory, 7 files
Aus diesem Grund war ich (zunĂ€chst) so ĂŒberzeugt, dass wir dieses Problem eher als ein Problem mit Packer sahen. Die Arbeit von @StefanScherer scheint jedoch darauf
EDIT: Habe gerade den Kommentar von
Dies wurde möglicherweise in https://golang.org/doc/devel/release.html#go1.10.minor behoben
Ich kann einen Fix fĂŒr Archiv / Zip in 1.10.1 sehen. Ich habe es mit einem abgespeckten Beispielcode versucht, aber es gibt immer noch das Problem. Es tritt auch bei einer Linux-Golang-BinĂ€rdatei auf. Der macOS tar (bsdtar) kann die DateigröĂe nicht richtig lesen.
Hier ist ein Packer, der mit go 1.10.1 fĂŒr Darwin gebaut wurde. WĂŒrde mich ĂŒber jede Hilfe beim Testen freuen, wenn dies das Problem löst.
Vielen Dank an @StefanScherer fĂŒr das Einreichen des Upstream-Fehlers. Es gibt eine Menge nĂŒtzlicher Informationen
Was kannst du tun?
Mit Go1.10 kann der Benutzer das Ausgabeformat genauer steuern. Sie können tar.Header.Format bis tar.FormatGNU sehen, um den libarchiven Fehler zu umgehen.
Das scheint so zu sein. Wenn jemand eine PR einreichen möchte, tun Sie dies bitte, andernfalls fĂŒgen wir die Problemumgehung fĂŒr die nĂ€chste Punktveröffentlichung hinzu. Das Kompilieren von Packern mit einer Ă€lteren Version von go sollte vorerst eine praktikable Problemumgehung sein.
Wird nach einigen Tests tun.
Ich fĂŒrchte, ich bekomme immer noch den gleichen Fehler mit Packer, der mit go 1.10.1 fĂŒr Darwin erstellt wurde und den @mwhooker bereitgestellt hat ... das am Ende generierte .box
enthĂ€lt eine leere Festplatte, angeblich fĂŒr eine BoxgröĂe von 12 GB
$ tar -tvf sdk-mac.box
-rw-r--r-- 0 user group 180 3 Apr 11:26 Vagrantfile
-rw-r--r-- 0 user group 25 3 Apr 11:26 metadata.json
-rw-r--r-- 0 user group 65536 3 Apr 11:25 sdk-mac.pvm/NVRAM.dat
-rw-r--r-- 0 user group 7224 3 Apr 11:25 sdk-mac.pvm/VmInfo.pvi
-rw-r--r-- 0 user group 26381 3 Apr 11:25 sdk-mac.pvm/config.pvs
-rw-r--r-- 0 user group 1710 3 Apr 11:25 sdk-mac.pvm/harddisk.hdd/DiskDescriptor.xml
-rw-r--r-- 0 user group 0 3 Apr 11:25 sdk-mac.pvm/harddisk.hdd/harddisk.hdd
-rw-r--r-- 0 user group 0 3 Apr 11:26 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds
-rw-r--r-- 0 user group 8336 3 Apr 11:26 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.drh
(und das AusfĂŒhren von vagrant up
schlÀgt mit dem Festplattenfehler fehl)
Ich erhalte auch immer noch den Fehler ( vagrant up
Festplatte) mit Packer 1.1.3
, also bin ich mir nicht sicher, ob es etwas mit meinem System ist?
Auch wenn die Festplatte hier initialisiert zu sein scheint?
$ tar -tvf sdk-mac.box
-rw-r--r-- 0 501 20 180 3 Apr 12:24 Vagrantfile
-rw-r--r-- 0 501 20 25 3 Apr 12:24 metadata.json
-rw-r--r-- 0 501 20 65536 3 Apr 12:23 sdk-mac.pvm/NVRAM.dat
-rw-r--r-- 0 501 20 7224 3 Apr 12:23 sdk-mac.pvm/VmInfo.pvi
-rw-r--r-- 0 501 20 26381 3 Apr 12:23 sdk-mac.pvm/config.pvs
-rw-r--r-- 0 501 20 1710 3 Apr 12:23 sdk-mac.pvm/harddisk.hdd/DiskDescriptor.xml
-rw-r--r-- 0 501 20 0 3 Apr 12:23 sdk-mac.pvm/harddisk.hdd/harddisk.hdd
-rw-r--r-- 0 501 20 19503513600 3 Apr 12:24 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds
-rw-r--r-- 0 501 20 7472 3 Apr 12:24 sdk-mac.pvm/harddisk.hdd/harddisk.hdd.drh
Haben Sie Packer von Brew versucht?
@basictheprogram Ja, ich habe die neueste ausprobiert und bin mit Brew auf 1.1.3 zurĂŒckgegangen, aber beide haben nicht mit den oben genannten Problemen gearbeitet
@SurferL Verwenden Sie vagrant box add...
? Ich bin mir ziemlich sicher, dass die in Vagrants eingebettete Version von tar diese Probleme verursachen wird, unabhÀngig von dem Fix, der in Packer eingegangen ist. Siehe meinen Kommentar hier .
Lang und kurz mĂŒssen Sie die Box möglicherweise manuell an der richtigen Stelle im Verzeichnis .vagrant.d ... entpacken, indem Sie GNU tar anstelle von bsdtar verwenden, bis die nĂ€chste Version von Vagrant veröffentlicht wird.
@DanHam Danke, dass hast - ich habe nicht vagrant box add
, und dadurch funktionierte mein Build mit Packer 1.1.3
!
Nur noch ein paar Infos:
Die Verwendung von Packer 1.2.2
aus dem Brauen (und die Verwendung von vagrant box add
hat nicht funktioniert) und die Verwendung von Packer mit go 1.10.1 fĂŒr Darwin (und die Verwendung von vagrant box add
) ...
Ich werde dieses Problem sperren, da es seit 30 Tagen geschlossen ist. Dies hilft unseren Betreuern, die aktiven Themen zu finden und sich darauf zu konzentrieren.
Wenn Sie ein Àhnliches Problem gefunden haben, öffnen Sie bitte ein neues Problem und vervollstÀndigen Sie die Problemvorlage, damit wir alle Details erfassen können, die zur weiteren Untersuchung erforderlich sind.
Hilfreichster Kommentar
Eine Git-Schuld zeigt keine Ănderungen seit Packer 1.1.1 in Packer / Postprozessor / Vagrant / Util.go.
Packer 1.1.3 wird mit Go 1.9 kompiliert, Packer 1.2.1 wird mit Go 1.10 kompiliert.
Es sieht wirklich nach einem Problem mit Golang 1.10 aus.
Ich habe die Datei packer / postprozessor / vagrant / util.go in eine kleine Datei main.go extrahiert, die die Funktion
DirToBox
ohne packer.Ui aufruft.Wenn Sie diesen Code mit Golang 1.9 kompilieren, sieht die erstellte TAR-Datei gut aus.
Beim Kompilieren dieses Codes mit Golang 1.10 zeigt die TAR-Datei eine Null-Byte-Datei.
Das Problem tritt auch bei der Komprimierungsstufe = 0 auf, sodass es unabhÀngig vom pgzip-Paket ist.
Die Beispielquelle
dirtobox.go
, das SkriptDockerfile
undbuild.sh
zum Erstellen der Darwin-BinĂ€rdatei finden Sie in dieser Ăbersicht: https://gist.github.com/StefanScherer/c55fd0ae752687c806f8d5fb40cadc78Ich habe ein Beispielverzeichnis
in
mit einer groĂen Datei erstellt, die BinĂ€rdateidirtobox
fĂŒr Darwin kompiliert und den Test ausgefĂŒhrtĂndern der
Dockerfile
zurĂŒck in Golang: 1.9Wenn Sie
./build.sh
und./dirtobox
erneut ausfĂŒhren, wird eine korrekte TAR-Datei erstellt: