Para criar um arquivo de banco de dados na instalação e salvar uma cópia na remonação neste estudo de caso, você deve realizar as tarefas seguintes:
Definir três classes.
O pacote deste estudo de caso requer que as três classes seguintes sejam definidas no parâmetro CLASSES:
A classe none padrão, que contém um conjunto de processos pertencente ao subdiretório bin.
A classe admin, que contém um arquivo executável config e um diretório contendo arquivos de dados.
A classe cfgdata, que contém um diretório.
Tornar o pacote relocável coletivamente.
Observe que no arquivo prototype nenhum dos nomes de caminho começa com um barra ou uma variável de ambiente. Isso indica que são relocáveis coletivamente.
Calcular a quantidade de espaço que o arquivo de banco de dados necessita e criar um arquivo space para ser distribuído com o pacote. Este arquivo notifica o comando pkgadd que o pacote requer espaço extra e especifica quanto.
Criar um script de ação de classe para a classe admin (i.admin).
O script de amostra inicializa um banco de dados usando os arquivos de dados pertencentes à classe admin. Para realizar esta tarefa, ele adota o seguinte procedimento:
Copia o arquivo de dados de origem ao destino apropriado
Cria um arquivo vazio chamado config.data e o atribui a uma classe de cfgdata
Executa o comando bin/config (distribuido com o pacote e já instalado) para preencher o arquivo de banco de dados config.data usando os arquivos de dados pertencentes à classe admin
Executa o comando installf -f para finalizar a instalação de config.data
Não é necessário realizar nenhuma ação especial na classe admin no tempo de remoção já que nenhum script de ação de classe de remoção é criado. Isso significa que todos os arquivos e diretórios da classe admin são removidos do sistema.
Criar um script de ação de remoção para a classe cfgdata (r.cfgdata).
O script de remoção faz uma cópia do arquivo de banco de dados antes de excluí-lo. Não é necessário realizar nenhuma ação especial nesta classe no tempo de instalação, já que nenhum script de classe de instalação é necessário.
Lembre-se de que a entrada de um script de remoção é uma lista de nomes de caminho a serem removidos. Os nomes de caminho sempre aparecem na ordem alfabética inversa. Este script de remoção copia os arquivos em um diretório chamado $PKGSAV. Quando todos os nomes de caminho tiverem sido processados, o script volta e remove todos os diretórios e arquivos associados à classe cfgdata.
O resultado deste script de remoção é copiar config.data em $PKGSAV e, em seguida, remover o arquivo config.data e o diretório de dados.