JavaScript is required to for searching.
Ignorar Links de Navegao
Sair do Modo de Exibio de Impresso
Guia do desenvolvedor de empacotamento de aplicativos     Oracle Solaris 10 1/13 Information Library (Português (Brasil))
search filter icon
search icon

Informação sobre o documento

Prefácio

1.  Criando um Pacote

2.  Construindo um Pacote

3.  Melhorando a funcionalidade de um pacote (Tarefas)

4.  Verificando e transferindo um pacote

5.  Estudos de caso de criação de pacote

Solicitando entrada do administrador

Técnicas

Abordagem

Arquivos de estudo de caso

O arquivo pkginfo

O arquivo prototype

O script request

Criando um arquivo na instalação e salvando-o durante a remoção

Técnicas

Abordagem

Arquivos de estudo de caso

O arquivo pkginfo

O arquivo prototype

O arquivo space

O script de ação de classe i.admin

O script de remoção r.cfgdata

Definindo compatibilidades e dependências de pacotes

Técnicas

Abordagem

Arquivos de estudo de caso

O arquivo pkginfo

O arquivo copyright

O arquivo compver

O arquivo depend

Modificando um arquivo usando classes padrão e scripts de ação de classe

Técnicas

Abordagem

Arquivos de estudo de caso

O arquivo pkginfo

O arquivo prototype

O script de ação de classe de instalação i.inittab

O script de ação de classe de remoção r.inittab

O arquivo inittab

Modificando um arquivo usando a classe sed e um script postinstall

Técnicas

Abordagem

Arquivos de estudo de caso

O arquivo pkginfo

O arquivo prototype

O script de ação de classe sed (/etc/inittab)

O script postinstall

Modificando um arquivo usando a classe build

Técnicas

Abordagem

Arquivos de estudo de caso

O arquivo pkginfo

O arquivo prototype

O arquivo build

Modificando arquivos crontab durante a instalação

Técnicas

Abordagem

Arquivos de estudo de caso

O comando pkginfo

O arquivo prototype

O script de ação de classe de instalação i.cron

O script de ação de classe de remoção r.cron

Arquivo crontab #1

Arquivo crontab #2

Instalando e removendo um driver com scripts de procedimento

Técnicas

Abordagem

Arquivos de estudo de caso

O arquivo pkginfo

O arquivo prototype

O script request

O script postinstall

O script preremove

Instalando um driver usando a classe sed e scripts de procedimento

Técnicas

Abordagem

Arquivos de estudo de caso

O arquivo pkginfo

O arquivo prototype

O script de ação de classe sed (/etc/devlink.tab)

O script de instalação postinstall

O script de remoção preremove

O arquivo copyright

6.  Técnicas avançadas para a criação de pacotes

Glossário

Índice

Modificando arquivos crontab durante a instalação

Este estudo de caso modifica arquivos crontab durante a instalação do pacote.

Técnicas

Este estudo de caso demonstra as seguintes técnicas:

Abordagem

A forma mais eficiente de editar mais de um arquivo durante a instalação é definir uma classe e fornecer um script de ação de classe. Se você usou a abordagem da classe build, será necessário distribuir um script de classe build para cada arquivo crontab editado. A definição de uma classe cron proporciona uma abordagem mais geral. Para editar arquivos crontab com esta abordagem, você deve:

Arquivos de estudo de caso

Os scripts i.cron e r.cron descritos abaixo são executados pelo superusuário. A edição de outro arquivo crontab do usuário como superusuário pode ter conseqüências imprevisíveis. Se necessário, altere a seguinte entrada em cada script de:

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

para

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

O comando pkginfo

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

O arquivo prototype

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

O script de ação de classe de instalação 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

O script de ação de classe de remoção 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 

Arquivo 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

Arquivo 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

Observação - Se a edição de um grupo de arquivos for aumentar o tamanho total do arquivo em mais de 10K, forneça um arquivo space para que o comando pkgadd possa permitir esse aumento. Para mais informações sobre o arquivo space, consulte Reservando espaço adicional em um sistema de destino.