Некоторое время я создавал пакеты Solaris для развертывания приложений, однако недавно я узнал, что развернутые файлы имеют ту же метку времени, что и при создании пакета. Просматривая различные страницы руководства (pkgproto, prototype, атрибуты и т. Д.), Я не могу найти какой-либо опции, чтобы указать pkgproto / pkgmk сохранять временные метки файлов.
Кто-нибудь знает, как обеспечить сохранение временных меток файлов в пакетах Solaris?
Временные метки файлов указываются в файле pkgmap внутри пакета. Пример:
1 f none man/man1m/sudo.1m 0444 root root 36805 40001 1329918580
Самый последний столбец - это отметка времени, которую получит файл. Когда вы создаете пакет, pkgmk использует временную метку этого файла во время его запуска. Таким образом, метка времени сохраняется. Если вы говорите, что хотите, чтобы файл имел временную метку времени, когда пакет был установлен, вам необходимо отредактировать файл pkgmap и заменить все временные метки на текущее время:
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>