Solaris打包保留文件时间戳

我一直在为应用程序部署创buildSolaris软件包,但是最近我意识到部署的文件在创build软件包的时候有相同的时间戳。 通过查看各种联机帮助页(pkgproto,原型,属性等),我似乎找不到任何选项来指示pkgproto / pkgmk来保存文件时间戳。

任何人都知道如何确保在Solaris软件包中保留文件时间戳?

文件的时间戳在包中的pkgmap文件中指定。 例:

1 f none man/man1m/sudo.1m 0444 root root 36805 40001 1329918580 

最后一列是文件将获得的时间戳。 在创build软件包时,pkgmk在运行时使用该文件的时间戳。 所以,它确实保留了时间戳。 如果您要求文件具有安装软件包的时间戳,则必须编辑pkgmap文件并将所有时间戳replace为当前时间:

 cd <pkg directory> T=`perl -e 'print time()'`; sed -e 's/ [0-9][0-9]*$/'$T'/' pkgmap > pkgmap.new mv pkgmap pkgmap.old mv pkgmap.new pkgmap cd .. pkgadd -d . <pkg name>