Alguns aplicativos vêm em arquivos .pkg e solicitam sua senha de administrador, mesmo que tudo o que eles façam seja copiar o binário em / Applications.
Eu gosto de ter meus aplicativos em ~ / Applications e não gosto de dar permissões administrativas para qualquer coisa que não seja da nave-mãe.
Existe uma maneira de abrir manualmente o arquivo .pkg e retirar o aplicativo? Existe o PackageMaker nas Ferramentas do desenvolvedor, mas isso parece não acontecer (ele produziu alguma saída que me faz pensar que realmente não há scripts ou outras partes no instalador, apenas no aplicativo).
Respostas:
Se você clicar com o botão direito do mouse e clicar em Mostrar Conteúdo do Pacote, você obterá alguns arquivos em uma pasta Conteúdo. (Nota: se você não vir Mostrar conteúdo do pacote, será necessário abrir o Terminal.app e executar
pkgutil --expand mystubbornpackage.pkg path/to/expand
)Um é um arquivo de lista técnica (lista de materiais) que é transformado em um recibo que você pode usar para desinstalar o aplicativo. Este arquivo contém um manifesto de tudo o que o pacote instalará e para onde; Para ler este arquivo, use o comando lsbom .
A maioria dos pacotes (estou usando o Office 2008 aqui) também possui um arquivo Archive.pax.gz, que contém tudo o que o Instalador moverá para as várias pastas, conforme as instruções no arquivo BOM. A maioria dos aplicativos parece ter o .app nesse arquivo, embora arrastá-lo para / Applications possa deixá-lo sem estruturas que ele precise executar; então você terá que descobrir quais outros arquivos ele precisa e onde eles precisam para que eles funcionem.
Além disso, todos os pacotes podem registrar mensagens; se você pressionar Cmd-L (ou escolher a opção Log do Instalador no menu Janela , poderá visualizá-las conforme são geradas. Isso pode lhe dar uma idéia de quais itens extras estão sendo instalados, pelo menos são mais algumas informações se você não confiar no pacote.
fonte
pkgutil
vai fazer isso. Você pode expandi-lo usandopkgutil --expand file.pkg path_to_expand
e ele será convertido em um pacote de estilo de diretório.Além do que Matthew Hall disse, você também pode pressionar Cmd-I no aplicativo Installer para ver quais arquivos o instalador instalará e onde.
fonte
Se você não confia no instalador o suficiente para fornecer permissões administrativas para instalar, por que você confia no binário em / Aplicativos?
O Pacifist permitirá que você procure nos arquivos do pacote. Isso não necessariamente permite que você "retire o binário".
fonte
Como alternativa, você pode tentar,
OU
fonte
hdiutil create -size 200m -fs HFS+ -volname Scratch scratch.dmg
e copiar os arquivos para os locais de sua preferência. Você ainda precisa do sudo para executar o instalador, infelizmente.Depois de conseguir abrir o pacote, procure o arquivo Archive.pax.gz mencionado anteriormente.
Crie uma nova pasta vazia na área de trabalho, nomeando-a como desejar. Eu geralmente os nomeio "xxxx" ou "zzzz" etc. para facilitar a digitação mais tarde.
Arraste com uma opção e uma cópia do arquivo Archive.pax.gz para essa nova pasta "xxxx" na área de trabalho.
Se o arquivo estiver dentro da mídia somente leitura, basta arrastá-lo para a pasta "xxxx" sem a tecla Opção para criar uma cópia.
Agora abra o Terminal.app e, na linha de comando, navegue até o novo diretório "xxxx" e liste o conteúdo do diretório para confirmar se o seu arquivo Archive.pax.gz está lá:
Agora, existem dois comandos simples para inserir:
O Gzip informará que ele substituiu "Archive.pax.gz" por "Archive.pax"). Agora liste o conteúdo do diretório novamente para confirmar isso.
(Você deve separar
-r
e-f
, como-rf
não funcionará)Por fim, liste o conteúdo do diretório novamente com
ls -al
. Além do arquivo Archive.pax, agora você verá uma hierarquia de diretórios provavelmente contendo um ou mais diretórios.Os arquivos nessa hierarquia de diretórios ilustrarão para você onde o instalador do OS X instalaria arquivos no seu sistema como se o diretório "xxxx" fosse o diretório raiz "/".
Você pode copiar manualmente esses arquivos para seus destinos, se desejar.
fonte
cd ~/Desktop; cp Package.pkg/Contents/Archive.pax.gz .; gunzip -v Archive.pax.gz; pax -r -f Archive.pax
. Você não precisa descrever tudo nesse nível de detalhe.pkgutil --expand
estava falhando para mim com o seguinte erro:Error encountered while creating .. Error 17: File exists
Mas eu consegui extrair os arquivos com
xar
:xar -xvf foo.pkg
fonte
A melhor ferramenta para inspecionar arquivos de pacotes é o Pacote Suspeito . Também permite copiar arquivos do pacote.
Além de fornecer todas as informações necessárias no aplicativo, ele também instala um plug-in Quick Look; basta selecionar o arquivo do pacote e pressionar a barra de espaço para abrir uma janela com as informações mais essenciais.
fonte
O desarquivador pode fazer isso; fará o mesmo,
pkgutil --expand
mas usando arrastar e soltar. É um substituto melhor para o Archive Utility.app da Apple de qualquer maneira.fonte
UnArchiver fez o truque.
Instale o UnArchiver, abra o UnArchiver; enquanto estiver aberto - clique duas vezes nessa traquina
MAMP_MAMP_3.5.pkg
Siga as etapas para instalar o MAMP.
fonte