上記の調査は、だいたいあってると思う。Languagehttps://msdn.microsoft.com/ja-jp/library/windows/desktop/gg258117(v=vs.85).aspxあ、これでいいのかも。data.FileAttributesすみません、dataっつーのは、更新日のところで説明しますが、fileInfo.Sys().(*syscall.Win32FileAttributeData).FileAttributesということです。ファイル所有者java.nio.file.attributeならファイル所有者の情報を取得できるらしい。goの場合、データをどこから抜いてくるのか発見できてない。できるんだろうか??そして、どうやって詰めるんだっけ・・・。zipにするときには詰められないように思える。7zには所有者情報は見えないし。zipのためには取得する必要はなさそうだ。これを実現するには、fileの情報をもとに、セキュリティ情報を拾って、その情報をもとにルックアップするイメージなんだろう。更新日時のみであれば、FileHeader#SetModTime(info.ModTime())で十分です。作成日時とアクセス日時は、FileHeaderのExtraを設定する必要がある。作成日時とアクセス日時は、FileInfoのSys()から取得する。以下の記事は参考になるでしょう。info.Sys().(*syscall.Win32FileAttributeData)これを使ってExtraに突っ込む。注意事項はリトルエンディアンであるということだ。いう[]byteになればいいのかは適宜バイナリエディタでzipファイルを比較確認するほうがいい。理屈的な形式は、ここが参考になったので是非ご覧いただきたい。https://opensource.apple.com/source/zip/zip-6/unzip/unzip/proginfo/extra.fldリトルエンディアンを簡単に扱うためには、"encoding/binary"パッケージのLittleEndianを使うほうが間違いがないが、bufの先頭から詰めてくるので、Extraのbyte配列に直接詰め込めない。data)とりあえず自分はこんな感じで書いた。序盤は自前でエンディアンを意識して書いたが、後半はbinaryパッケージを利用する関数を用意した。data.CreationTime.HighDateTime)あ、すみませんが、infoってのはFileInfoですよ。filepath.Walkを呼ぶので、WalkFuncを実装していて、引数でFileInfoが渡ってきます。ホストOS7zで言うところのホストOSは、FileHeaderのCreatorVersionに相当する。8意味不明な数字がでてくるでしょう。goのstructを見ると数字が解るので、それを8ビットシフトして使えばなんとかなる。Linux準備するもの。PackPackerVagrantRHELあと、ハッシュ計算できるコマンドも必要かな。自分の場合はpowershell立ち上げたらmd5sumなどが見つかったけど。RHEL以外をインストールしてくださいな。Programに参加して、(登録は必要だけど)無償でRHELを手にいれます。個人用で、VirtualBox上で動かします。手でペチペチインストールするのが面倒臭くなるので徐々に自動化します。はじめは手でインストールanaconda-ks.cfgが欲しいじゃないですか。それを手直しして、とりあえずこういう感じのにしました。firewallを書き忘れてたり、ツッコミどころはたくさん。ミニマムインストールなのに、レポジトリの追加もしてます。いつか使うかもしれんから勉強のために追加してるだけです。--notempty%end%post%endネットワークはonboot付けてないと面倒です。付け忘れた場合はあとでks.cfgのfetchに失敗しますよ。ユーザとパスワードは以下のとおりです。root/vagrantvagrant/vagrantまあ、Vagrant用のBoxを作る前提ですからね。日本語うざいんで、langをen_US.UTF-8をメインにしてます。Packerのファイルを作るks.cfgを使う設定ファイル(rhel73.json)を書いた。]}vm名なんかは変えてください。これは手インストール時に使った名前と被らないようにしただけです。yum.repos.dへの追加には、addonの類が入ってませんが、好みで追加してくださいな。ksdeviceを書くのは過去の経験からです。奇妙なヒアドキュメントの書き方がありますが、これで動きます。あの配列は改行コード付きで連結されるという仕様があるためです。簡単に言うとpackerは自前サーバを立てて、http_directoryにあるks.cfgを公開します。bootコマンドを受け付けた側は、ネットワーク経由でそのks.cfgを見に行きます。そのため、このときにハマるのはたいていネットワーク系の問題です。あと、今回メモリは2GBしか割り当ててないですが、RHELは4GB(推奨8GB)です。そのあたりが原因でkdumpサービスが起動できてないように思います。rhel73.jsonpackerがbootコマンドをチンタラ書いてる様子、いとおかし。自分の記憶では、その部分はgo-vncで投げていたはずです。addとかしてください。細かいことは抜きにすれば、おもちゃにできるRHELを手に入れられたので、RHELのコアダンプを読む方法について勉強してみようかな。いざ起動してみると光学ドライブがないという話・・・。vboxmessageに何か加えればいけるやろ。finalを書き換えできるの?それは使ってるバージョンによる!Java今、迷っている。書き換えられるっぽい過去の経験、書き換えられない最近の経験が混ざっている。