Guia do Desenvolvedor de Empacotamento de Aplicativos

Tornando os pacotes instaláveis remotamente

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.

Exemplo – Instalando em um sistema cliente

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

Variável de ambiente 

Valor 

PKGINST

SUNWstuf.2

PKG_INSTALL_ROOT

/export/root/client3

CLIENT_BASEDIR

/opt/SUNWstuf.2

BASEDIR

/export/root/client3/opt/SUNWstuf.2

Exemplo – Instalando em um sistema servidor ou independente

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

Variável de ambiente 

Valor 

PKGINST

SUNWstuf.2

PKG_INSTALL_ROOT

Não definido. 

CLIENT_BASEDIR

/opt/SUNWstuf.2

BASEDIR

/opt/SUNWstuf.2

Exemplo – Montando sistemas de arquivos compartilhados

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.