Временные метки файлов в Solaris-упаковке
Я некоторое время создавал пакеты Solaris для развертывания приложений, однако недавно я узнал, что у развернутых файлов была та же временная метка, что и при создании пакета. Просматривая различные man-страницы (pkgproto, prototype, attribute и т. Д.), Я не могу найти какой-либо вариант, чтобы указать pkgproto / pkgmk сохранить временные метки файлов.
Кто-нибудь знает, как обеспечить сохранение временных меток файлов в пакетах Solaris?
1 ответ
Метки времени указываются в файле 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>