O que é o formato de ficheiro PKG?
A extensão .pkg é usada, entre outros, no sistema operacional macOS, desenvolvido pela Apple. Os arquivos .pkg contêm pacotes de arquivos de instalação compactados com o formato interno XAR, cujo objetivo é instalar um aplicativo em computadores Mac. Os arquivos .pkg são, na verdade, arquivos XAR com uma extensão diferente e uma hierarquia de arquivos estritamente definida: um Índice em XML, um payload CPIO compactado que carrega os arquivos do aplicativo e scripts de instalação opcionais.
O objetivo do projeto XAR é criar um formato de arquivo facilmente expansível, e isso torna o .pkg um veículo de entrega flexível para softwares do macOS. Ao desenvolver o formato .pkg, o objetivo principal era criar um mecanismo que facilitasse o trabalho durante o processo de instalação - e essa prioridade foi alcançada. A instalação e atualização usando arquivos .pkg podem ser realizadas facilmente através do aplicativo Installer integrado do macOS ou do comando installer no Terminal. A instalação do software pode ser realizada individualmente ou junto com um script de pré ou pós-instalação responsável por tal processo.
O formato .pkg plano atual foi introduzido no Mac OS X 10.5 Leopard (2007). Pacotes modernos devem ser assinados com um certificado de Apple Developer e notarizados para distribuição fora da Mac App Store.
Os arquivos .pkg são usados atualmente conforme listado abaixo:
- como pacotes de instalação em sistemas Apple - tanto em computadores com macOS quanto em iPhones (distribuídos via MDM ou Apple Configurator)
- pela Sony, para instalação de softwares e aplicativos nos consoles PlayStation 3, PlayStation 4 e PlayStation 5
- historicamente pelos sistemas Symbian para conter informações de configuração dentro de pacotes de instalação
Formatos relacionados incluem imagens de disco .DMG usadas para distribuição de aplicativos, metapacotes .MPKG que agrupam vários instaladores .pkg e arquivos assinados .XIP usados pelo Xcode.
Segurança e proteção
RISCO: MEDIUMUm .pkg do macOS pode executar scripts de pré-instalação/pós-instalação com privilégios elevados, por isso é mais perigoso do que um aplicativo de arrastar para a pasta Aplicativos - malwares e adwares já foram distribuídos como instaladores .pkg. Execute apenas pacotes de fontes confiáveis; o macOS Gatekeeper avisa sobre pacotes não assinados/não notarizados, e você deve dar atenção a isso. Inspecione qualquer item incerto com o Suspicious Package (ele mostra os scripts e o signatário) antes de instalar.
Detalhes do formato
em resumo- Pacote PlayStation - Pacote de jogo/DLC/atualização criptografado e específico do console para PS3/PS4/PS5/Vita; instala apenas no console correspondente, não em um computador.
- Script de Instalador Symbian (.pkg) - Script de compilação de texto obsoleto usado pelo antigo empacotamento SIS do Symbian/Nokia.
- Pacote Apple Newton - Formato de pacote raro e obsoleto para a plataforma Apple Newton descontinuada (o nome antigo do banco de dados para esta extensão).
Programas que abrem arquivos PKG
Detalhes técnicos
especificação profunda| Formato interno | Arquivo binário XAR (eXtensible ARchive) |
| Magic bytes | `78 61 72 21` (`xar!`) no deslocamento 0 do arquivo; identifica um pacote plano moderno - pacotes de pacotes (bundles) mais antigos são diretórios sem uma assinatura de arquivo única |
| Tipo MIME | `application/x-xar` |
| Índice (Table of Contents) | Documento XML armazenado sem compactação dentro do cabeçalho XAR, indexando o checksum de cada arquivo, método de compactação e metadados |
| Formato do Payload | Arquivo CPIO compactado com gzip, bzip2 ou lzma dentro do contêiner XAR |
| Lista de Materiais (Bill of Materials) | Arquivo `Bom` dentro do pacote listando caminhos instalados, proprietários de arquivos, permissões e tamanhos |
| Scripts de instalação | Scripts de shell `preinstall` e `postinstall` executados como root antes e depois da instalação do payload |
| Assinatura de código | Assinado com um certificado Apple Developer ID Installer; assinatura verificada pelo macOS Gatekeeper ao iniciar |
| Notarização | Notarização da Apple necessária para pacotes distribuídos fora da Mac App Store no macOS 10.15 e posteriores |
| Variantes de pacote | O `.pkg` plano é um único arquivo XAR; o `.pkg` de pacote legado (pré-10.5) é uma estrutura de diretórios - ambos compartilham a mesma extensão |
| Instalação via linha de comando | `sudo installer -pkg file.pkg -target /` |
| Extração sem instalação | `xar -xf file.pkg` descompacta o arquivo no diretório atual sem executar scripts de instalação |
| XML de Distribuição | Arquivo `Distribution` opcional na raiz de um arquivo de produto controla instalações de múltipla escolha ou de vários pacotes com lógica JavaScript incorporada |
| Componente vs. arquivo de produto | Um `.pkg` pode ser um pacote de componente simples ou um arquivo de produto agrupando vários pacotes de componentes em um único instalador |
| Lançado | macOS flat .pkg (XAR-based) since Mac OS X 10.5 Leopard (2007); earlier bundle .pkg since NeXTSTEP/Mac OS X 10.0 |
| Padrão aberto | Sim · livre de royalties |
| Especificação | github.com |
Conversões de PKG
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos PKG.