Como defino o parâmetro -target para instalações de pacotes no OS X?

2

Estou tentando instalar oosx-gcc-installer para 10.7.

Eu quero instalá-lo com o installercomando

O installercomando requer um parâmetro -target e é a parte da qual não tenho certeza.

  1. Existe alguma convenção para o local de destino para esse tipo de arquivo pkg ('ferramentas de desenvolvedor')? / opt ou / etc / ou / var?

  2. Existe uma contrapartida de desinstalação installer?

Anthony Kong
fonte

Respostas:

1

Leia a página de manual installer. A -targetopção não especifica um diretório, mas um volume real (ênfase minha):

O volume de destino é especificado com o -targetparâmetro ( -tgté aceito como sinônimo). Ele já deve estar montado quando o comando do instalador é chamado.

Então, basta executá-lo, especificando seu volume de inicialização:

installer -pkg GCC-10.7.pkg -target /

Eu acho que isso deve ser o suficiente. Um instalador de pacotes sabe onde colocar seus arquivos.


Existe uma contrapartida de desinstalação para o instalador?

Na verdade não. Todo instalador de pacotes também cria um chamado "recibo", que contém uma lista dos arquivos que foram instalados. Esse recibo é usado principalmente para reparar permissões, mas também pode (teoricamente) ser usado para "desfazer" instalações de pacotes.

Esses arquivos de recebimento estão localizados em:

  • /var/db/receipts começando com o OS X 10.6.
  • /Library/Receipts/dbou ~/Library/Receipts/db/no OS X 10.5 (mas aqui, é um banco de dados Sqlite)
  • /Library/Receipts no OS X 10.4

Usando o lsbomcomando, você pode listar o conteúdo desse arquivo de recibo.

lsbom -fls /var/db/receipts/some.receipt.bom

Isso fornece uma lista de arquivos. Se você precisar, tente remover todos esses arquivos. Mas nunca vi alguém realmente encorajar isso. Sua milhagem pode variar.

slhck
fonte
O destino também pode ser especificado como apenas -target /(em vez de "/Volumes/Macintosh HD"). Algumas pessoas renomearam o volume de inicialização.
Lri
Verdade isso. Foi até mencionado na página de manual.
slhck