Руководство разработчика по пакетированию приложений

Файлы практических примеров

Сценарии i.cron и r.cron, приведенные ниже, выполняются суперпользователем. Изменение суперпользователем файла crontab другого пользователя может привести к непредсказуемым результатам. При необходимости измените следующую запись в каждом сценарии:

crontab $user < /tmp/$$crontab ||

на

su $user -c "crontab /tmp/$$crontab" ||

Команда pkginfo

PKG=case7
NAME=Case Study #7
CATEGORY=application
BASEDIR=/opt
ARCH=SPARC
VERSION=Version 1.0
CLASSES=cron

Файл prototype

i pkginfo
i i.cron
i r.cron
e cron /var/spool/cron/crontabs/root ? ? ?
e cron /var/spool/cron/crontabs/sys ? ? ?

Установочный сценарий действия над классом i.cron

# PKGINST parameter provided by installation service
while read src dest
do
user=`basename $dest` ||
exit 2
(crontab -l $user |
sed -e "/#$PKGINST$/d" > /tmp/$$crontab) ||
exit 2
sed -e "s/$/#$PKGINST/" $src >> /tmp/$$crontab ||
exit 2
crontab $user < /tmp/$$crontab ||
exit 2
rm -f /tmp/$$crontab
done
exit 0

Сценарий действия над классом при удалении r.cron

# PKGINST parameter provided by installation service
while read path
do
user=`basename $path` ||
exit 2
(crontab -l $user |
sed -e "/#$PKGINST$/d" > /tmp/$$crontab) ||
exit 2
crontab $user < /tmp/$$crontab ||
exit 2
rm -f /tmp/$$crontab
done
exit 

crontab Файл #1

41,1,21 * * * * /usr/lib/uucp/uudemon.hour > /dev/null
45 23 * * * ulimit 5000; /usr/bin/su uucp -c
"/usr/lib/uucp/uudemon.cleanup" >
/dev/null 2>&1
11,31,51 * * * * /usr/lib/uucp/uudemon.poll > /dev/null

crontab Файл #2

0 * * * 0-6 /usr/lib/sa/sa1
20,40 8-17 * * 1-5 /usr/lib/sa/sa1
5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A

Примечание –

Если при изменении группы файлов общий размер файлов увеличится более чем на 10 КБ, создайте файл space для того, чтобы команда pkgadd приняла во внимание это увеличение. Для получения дополнительной информации о файле space см. раздел Резервирование дополнительного места на диске на целевой системе.