| 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)) |
3. Melhorando a funcionalidade de um pacote (Tarefas)
4. Verificando e transferindo um pacote
5. Estudos de caso de criação de pacote
6. Técnicas avançadas para a criação de pacotes
Especificando o diretório base
O arquivo de padrões administrativos
Conformando-se com a incerteza
Usando diretórios base paramétricos
Exemplos -- Usando diretórios base paramétricos
Exemplo -- Scripts de análise que deslocam um BASEDIR
Usando caminhos paramétricos relativos
Exemplo -- Um script request que desloca um caminho paramétrico relativo
Oferecendo suporte a relocação em um ambiente heterogêneo
Exemplo - Um pacote relocável tradicional
Exemplo - Um pacote absoluto tradicional
Exemplo - Uma solução tradicional
Outra consideração sobre os pacotes compostos
Fazendo nomes de caminho absolutos parecer relocáveis
Exemplo -- Modificando um arquivo
Exemplo -- Criando um novo arquivo
Tornando os pacotes instaláveis remotamente
Exemplo - Instalando em um sistema cliente
Atualizando com patches os pacotes
Criando pacotes de arquivo de classe
Estrutura do diretório do pacote de arquivo
Palavras-chave para oferecer suporte aos pacotes de arquivo de classe
Todos os pacotes devem ser remotamente instaláveis. Instalável remotamente significa que você não pressupõe que o administrador que está instalando seu pacote esteja instalando no sistema de arquivos raiz (/) do sistema que está executando o comando pkgadd. Se, em um dos seus scripts de procedimento, você precisar obter o arquivo /etc/vfstab do sistema de destino, será necessário usar a variável de ambiente PKG_INSTALL_ROOT. Em outras palavras, o nome de caminho /etc/vfstab o levará ao arquivo /etc/vfstab do sistema que estiver executando o comando pkgadd, mas o administrador pode estar instalando em um cliente em /export/root/client3. O caminho ${PKG_INSTALL_ROOT}/etc/vfstab com certeza o leva ao sistema de arquivos de destino.
Neste exemplo, o pacote SUNWstuf está instalado no client3, que está configurado com /opt no sistema de arquivos raiz (/). Outra versão deste pacote já está instalada no client3, e o diretório base está definido como basedir=/opt/$PKGINST de um arquivo de administração, thisadmin. (Para obter mais informações sobre arquivos de administração, consulte O arquivo de padrões administrativos.) O comando pkgadd executado no servidor é:
# pkgadd -a thisadmin -R /export/root/client3 SUNWstuf
A tabela abaixo lista as variáveis de ambiente e os valores passados aos scripts de procedimento.
Tabela 6-1 Valores passados aos scripts de procedimento
|
Para instalar em um sistema servidor ou em um sistema independente sob as mesmas circunstâncias do exemplo anterior, o comando é:
# pkgadd -a thisadmin SUNWstuf
A tabela abaixo lista as variáveis de ambiente e os valores passados aos scripts de procedimento.
Tabela 6-2 Valores passados aos scripts de procedimento
|
Suponha que o pacote SUNWstuf crie e compartilhe um sistema de arquivos no servidor em /export/SUNWstuf/share. Quando o pacote for instalado no sistema cliente, seus arquivos /etc/vfstab precisam ser atualizados para montar este sistema de arquivos compartilhado. É neste caso que a variável CLIENT_BASEDIR pode ser usada.
A entrada do cliente precisa apresentar o ponto de montagem com relação ao sistema de arquivos do cliente. Esta linha deve ser construída corretamente se a instalação for do servidor ou do cliente. Suponha que o nome do sistema do servidor seja $SERVER. Você pode ir a $PKG_INSTALL_ROOT/etc/vfstab e, usando os comandos sed ou awk, construir a seguinte linha no arquivo /etc/vfstab do cliente.
$SERVER:/export/SUNWstuf/share - $CLIENT_BASEDIR/usr nfs - yes ro
Por exemplo, para o servidor universe e o sistema cliente client9, a linha no arquivo /etc/vfstab do sistema cliente se assemelharia a:
universe:/export/SUNWstuf/share - /opt/SUNWstuf.2/usr nfs - yes ro
Ao usar corretamente este parâmetro, a entrada sempre monta o sistema de arquivos do cliente, tanto se estiver sendo construído localmente quanto a partir do servidor.