comando de pkgmk
Propósito
Produz um pacote instalável.
Sintaxe
pkgmk [ -c ] [ -o ] [ -a Arch ] [ -b BaseDir ] [ -d Diretório ] [ -f Prototipo ] [ -l Limite ] [ -p PStamp ] [] -r RootPath ] [ -v Versão ] [ Variável=Valor ...] [ PkgInst ]
Descrição
pkgmk produz um pacote instalável para ser usado como entrada para o comando pkgadd . Um pacote é uma coleção de arquivos relacionados e executáveis que podem ser instalados de forma independente. O conteúdo do pacote estará em formato de estrutura de diretórios.
O comando pkgmk usa o arquivo de protótipo do pacote como entrada e cria um arquivo pkgmap . O conteúdo para cada entrada no arquivo do protótipo é copiado para o local de saída apropriado. As informações relativas ao conteúdo (checksum, tamanho do arquivo, data da modificação) são computadas e armazenadas no arquivo pkgmap , juntamente com informações de atributos especificados no arquivo do protótipo.
Sinalizações
| Item | Descrição |
|---|---|
| -a Arco | Substitui as informações de arquitetura fornecidas no arquivo pkginfo com Arco. |
| -b BaseDir | Pré-anexa o BaseDir indicado para localizar objetos realocáveis na máquina de origem |
| -C | Comprime arquivos não de informação. Você também deve especificar a opção -r ao usar -c. As entradas no arquivo Prototype que referenciam caminhos relativos acima da especificação RootPath não serão compactados Quaisquer arquivos que já estavam compactados (ou seja, apenas aqueles em forma ". Z") antes de serem processados por pkgmk não serão descompactados pelo comando pkgadd . |
| -d Diretório | Cria o pacote em Diretório. O diretório nomeado já deve existir. |
| -f Protótipo | Utiliza o arquivo Protótipo como entrada para o comando. O nome padrão para este arquivo é Protótipo ou protótipo. Você pode usar pkgproto para criar o arquivo Protótipo . Neste caso, você deve adicionar manualmente nas entradas para quaisquer scripts de instalação e arquivos que estiver usando no pacote. Você só precisa de entradas para aqueles arquivos e scripts que você usa. No entanto, você deve sempre adicionar uma entrada para o arquivo pkginfo para o pacote. Veja pkgproto para obter mais informações. |
| -l Limite | Especifica o tamanho máximo em 512-byte blocos do dispositivo de saída como Limite. Por padrão, se o arquivo de saída for um diretório ou um dispositivo montável, pkgmk empregará o comando df para calcular dinamicamente a quantidade de espaço disponível no dispositivo de saída. Útil em conjunto com pkgtrans para criar um pacote com formato de datastream. |
| -o | Sobrescreve a mesma instância. A instância do pacote será sobrescrita se ela já existir. |
| -p PStamp | Substitui a definição de selo de produção no arquivo pkginfo com PStamp. |
| -r RootPath | Anexa o nome do caminho de origem no arquivo Prototype para o RootPath indicado para localizar objetos na máquina de origem |
| -v Versão | Sobrevoa informações da versão fornecidas no arquivo pkginfo com Versão. |
| Variável=Valor | Coloca a variável indicada no ambiente de embalagem. |
| PkgInst | Uma sequência curta usada para designar uma abreviação para o nome do pacote. pkgmk criará automaticamente uma nova instância se a versão e / ou arquitetura for diferente. Um usuário deve especificar apenas uma abreviação de pacote; uma determinada instância não deve ser especificada, a menos que o usuário esteja sobrescreciando-a. |
Exemplos
- Se você deseja criar um pacote denominado
mypkgAcontendo os comandos lsps e lsuser , deve-se primeiro criar o conteúdo do pacote. Por exemplo:
Em seguida, crie o arquivo pkginfo . Neste exemplo o arquivo pkginfo émkdir -p /home/myuser/example/pkgmk/sbin cp /usr/sbin/lsps /home/myuser/example/pkgmk/sbin cp /usr/sbin/lsuser /home/myuser/example/pkgmk/sbin/home/myuser/example/pkgmk/pkginfo, que contém o seguinte:
Em seguida, crie o arquivo Protótipo , arquivoPKG="mypkgA" NAME="My Package A" ARCH="PPC" RELEASE="1.0" VERSION="2" CATEGORY="Application" PSTAMP="AIX 2001/02/05"/home/myuser/example/pkgmk/prototypeque contém o seguinte:
Em seguida, crie o pacote com os arquivos acima Protótipo e pkginfo usando o comando pkgmk :!search /home/myuser/example/pkgmk/sbin i pkginfo=/home/myuser/example/pkgmk/pkginfo d example /example 1777 bin bin d example /example/pkgmk 1777 bin bin d example /example/pkgmk/sbin 1777 bin bin f example /example/pkgmk/sbin/lsps 555 bin bin f example /example/pkgmk/sbin/lsuser 555 bin bin
Isto produz a seguinte saída:pkgmk -d /tmp -f /home/myuser/example/pkgmk/prototype
O pacote recém-criado denominadoBuilding pkgmap from package prototype file ## Processing pkginfo file WARNING:parameter <CLASSES> set to "example" ## Attempting to volumize 5 entries in pkgmap Part 1 -- 218 blocks, 10 entries /tmp/mypkgA/pkgmap /tmp/mypkgA/pkginfo /tmp/mypkgA/root/example/pkgmk/sbin/lsps /tmp/mypkgA/root/example/pkgmk/sbin/lsuser ## Packaging completemypkgAagora existe em/tmp/mypkgA.
Status de saída
| Item | Descrição |
|---|---|
| 0 | Conclusão bem-sucedida do script. |
| 1 | Erro fatal. Processo de instalação é finalizado neste ponto. |
| 99 | Erro interno. |
Arquivos
| Item | Descrição |
|---|---|
| /usr/sbin/pkgmk | Contém o comando pkgmk . |