Por que tantos downloads de Mac em um .dmg contêm apenas um .pkg?


22

Notei que muitos downloads são um dmg (imagem de disco) que contém um único arquivo pkg (pacote de instalação). Normalmente, o pkg parece já estar compactado, pois o dmg não reduz muito o tamanho do arquivo, se houver.

Exemplo :

Uma economia de 737.658 bytes, ou 0,6% do tamanho do arquivo original.

Existe uma razão para não distribuir apenas o pacote? A economia de compactação de 0,6% é tão importante? Ou é assim que as coisas sempre foram feitas no Mac?

(Sim, eu sei que 737.658 bytes vezes todos os milhões de downloads que o dmg obtém se somam, mas sempre parece irritante ter etapas extras para montar um dmg, executar o instalador e desmontar o dmg. Talvez um a melhor pergunta é "por que o Mac OS X não reconhece um dmg com um único pacote dentro dele como apenas um pacote e simplesmente o instala sem exigir toda a montagem e desmontagem?")


Pacotes realmente modernos são arquivos simples, não pastas. Portanto, não é mais necessário colocá-los em um dmg apenas para fornecer um arquivo simples.
mlaster

@mlaster Isso não parece ser verdade. Você tem um exemplo?
Gerry

1
radiosilenceapp.com/downloads/Private%20Eye.pkg é um exemplo, assim como o JavaForMacOSX10.7.pkg (embora a Apple ainda o tenha como .dmg quando estiver pronto para o download). Tenho vários outros no meu arquivo de downloads, mas ainda não é universal. fileos lista como "arquivo xar - versão 1". Mas existe o problema de garantir que o servidor da Web esteja configurado para forçar os arquivos .pkg a baixar em vez de exibir. (Espero que alguns desenvolvedores usem .zip em vez de .dmg pelo mesmo motivo - até os piores servidores e navegadores da Web configurados sabem baixar arquivos .zip).
TJ Luoma

1
No entanto, mesmo quando obtivemos arquivos simples, muitos desenvolvedores colocam arquivos .pkg dentro de um .zip, porque podem contar com os servidores para que seu tipo MIME seja definido corretamente para arquivos .zip, mas não necessariamente para .pkg (ou .dmg) )
TJ Luoma

Respostas:


24

Tecnicamente, um .pkg não é um arquivo , mas uma pasta . Portanto, talvez seja necessário coletá-lo em um único arquivo para fazer o download.


1
Eu nem percebi isso, mas você bateu na unha na cabeça.
Gerry

Também não sabia disso sobre um .pkg. Saber que tudo faz sentido. Obrigado!
perfil completo de Jim McKeeth

2
A compactação em um dmg significa que todos os atributos de arquivo estendidos do OS X e / ou garfos de recursos são preservados e você pode servi-lo a partir de um servidor da web que não seja do OS X. É também por isso que o formato do pacote foi atualizado para incluir arquivos planos nas versões recentes do OS X.
Joe Block

6
Esta resposta não é exatamente verdade mais, .pkgos arquivos são hoje em dia mais de uma pasta simples: en.wikipedia.org/wiki/Installer_(OS_X)#Installer_package
t0r0X

1
@wisbucky: isso deve ser mais recente que 2011, conforme observado por t0r0X.
GEdgar

14

Os dados na imagem DMG podem ser verificados quanto à integridade com o utilitário Disk. Você pode tornar obrigatório que o usuário concorde em licenciar antes de montar o dmg. Pode estar bloqueado de modificação. Você pode adicionar facilmente arquivos e pastas ocultos no DMG. Você pode criar uma imagem de fundo. Você pode protegê-lo da remoção durante o transporte por sistemas de arquivos que não reconhecem metadados, como o FAT.

Muitas razões, na verdade .


1
Todos os recursos interessantes de um DMG, mas eles não adicionam nada a um PKG, a menos que eles não consigam verificar seriamente sua própria integridade.
Jim McKeeth

6

Um possível motivo pode ser que o Safari, por padrão, monta automaticamente os arquivos DMG e que uma janela do Finder apareça com o conteúdo. Por sua vez, a pasta DMG pode ser estilizada com, por exemplo, uma imagem de fundo. Suponho que isso possa ser considerado mais amigável do que ter que procurar um instalador na pasta Downloads, mas concordo que é bastante discutível.

Outro motivo seria a capacidade de agrupar outros arquivos de suporte, por exemplo, arquivos de documentação ou até instaladores secundários.

No entanto, para começar, não é uma distribuição tão comum. A maioria dos aplicativos é distribuída como pastas .app independentes em um arquivo DMG (se não for agora na App Store). Seu exemplo parece ser uma exceção para mim, embora talvez seja mais comum em alguns canais de distribuição específicos? Pessoalmente, eu não pensaria nisso muito mais.


1
+ 1 para o último parágrafo - Eu pensei que devido ao som trojan .dmg s não são (definitivamente não deve) ser montado automaticamente
user151019

@ Gerry, montado automaticamente? Que cenário louco é esse?
Pacerier

@Gerry, isso não contradiz ".. concordo em licenciar .." em apple.stackexchange.com/a/30698/6533 ?
Pacerier

1

Outro motivo é que você não pode executar arquivos .pkg diretamente dos volumes de rede, mas pode executar um .dmg a partir de um volume de rede e, em seguida, iniciar o pacote.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.