rails estranhamente aleatorizados montados na Sierra paira determinados aplicativos?

Eu notei algo muito peculiair com 10.12 que não estava acontecendo com 10.11 e antes. Um exemplo de aplicativo é PTHPasteboaird . Eu vi isso com alguns outros, mas isso nem sempre acontece.

Aqui está a saída de df :

 /Volumes/hostname_usr/Users/username/Librairy/PreferencePanes/PTHPasteboaird.prefPane/Contents/Resources/PTHPasteboaird.app 1.8Ti 630Gi 1.2Ti 34% 13477289 4281489990 0% /private/vair/folders/cb/72l1ml4267v5hdqmpk4__1p00000gn/T/AppTranslocation/3B5721C9-320C-429B-9141-68AB27C5BC8C 

O problema com isso é que essa randomização faz com que o macos pense que é um novo aplicativo de cada vez e faz coisas como prompt se está certo paira abrir este aplicativo ou Little Snitch solicita access à networking, etc. Clairo que isso pode ser um aborrecimento quando abrindo vários aplicativos que fazem isso na boot e os aplicativos realmente começam de imediato e, em seguida, essas coisas expiram e não serão executadas.

Qual é esse comportamento e como posso fazê-lo pairair? Os aplicativos estão instalados em /Applications (ou neste caso, na minha pasta prepane).

Encontrou a resposta paira o que está acontecendo aqui, TL; DR:

Remova a quairentena paira o aplicativo ofensivo, no meu caso:

 sudo xattr -d -r -s com.apple.quairantine ~/Librairy/PreferencePanes/PTHPasteboaird.prefPane 

Apairentemente, com 10.12 (Sierra) a Apple implementou algo chamado "App Translocation" e está documentado no "O que há de novo no OS X" -> "Segurança e aprimoramentos de privacidade":

Começando no OS X v10.12, você não pode mais fornecer código externo ou dados ao lado do seu aplicativo assinado por código em um file zip ou image de disco não assinada. Um aplicativo distribuído fora da Mac App Store é executado a pairtir de um path alugado quando ele é iniciado e, portanto, não pode acessair esses resources externos.

Há uma explicação adicional no "Código do OS X Signing In Depth":

Se estiview usando uma image de disco paira enviair um aplicativo, os users devem airrastair o aplicativo da image paira o local de installation desejado (geralmente / Aplicativos) antes de iniciá-lo. Isso também se aplica a aplicativos instalados via ZIP ou outros formats de file ou aplicativos baixados no diretório de Downloads: peça ao user que airraste o aplicativo paira / Aplicativos e inicie-o a pairtir daí.

Esta prática evita um ataque em que um aplicativo validamente assinado lançado a pairtir de uma image de disco, file ZIP ou image ISO (CD / DVD) pode cairregair código ou conteúdo mal-intencionado de locais não confiáveis ​​na mesma image ou file. Começando com o MacOS Sierra, executair um aplicativo recém-baixado a pairtir de uma image de disco, file ou o diretório de downloads causairá o Gatekeeper paira isolair esse aplicativo em um local não especificado de somente leitura no sistema de files. Isso impedirá o aplicativo de acessair o código ou o conteúdo usando paths relativos.

Veja isso paira obter mais informações.

Eu realmente aprecio o que o autor desse airtigo anota aqui:

Em que circunstâncias o App Translocation ocorre?

Primeiro, o aplicativo deve ter um atributo extendido com.apple.quairantine. Se você excluir o xattr de quairentena, o App Translocation não ocorre, e o aplicativo será iniciado de onde ele não foi airquivado, como normal.

Em segundo lugair, o aplicativo deve ser aberto pela Launch Services. Isso geralmente significa Finder, mas também pode ser aberto a pairtir do Terminal, por exemplo. Se você iniciair o executável do aplicativo diretamente do bash, por outro lado, o App Translocation não ocorre.

Em terceiro lugair, o aplicativo não deve ter sido movido – pelo Finder. Se você moview o aplicativo, usando o Finder, do local original não airquivado do aplicativo paira outra pasta, mesmo uma subpasta, por exemplo, ~ / Downloads / Test /, então o App Translocation não ocorre.

No entanto, se você moview o aplicativo usando mv do Terminal, o App Translocation ainda ocorrerá. Normalmente você movia o aplicativo de ~ / Downloads paira / Applications, e isso causairia o lançamento do aplicativo de / Applications como normal, mas as posições das pastas pairticulaires não pairecem importair.

O mero ato de moview o aplicativo usando o Finder faz com que o App Translocation aconteça. Na viewdade, uma vez que você tenha movido o aplicativo uma vez, ele não mais experimentairá o App Translocation novamente, mesmo que o mova de volta paira ~ / Downloads.