Por que minhas listas em ~ / Library / Preferences são acompanhadas por um arquivo de bloqueio correspondente no Lion?

13
$ cd ~/Library/Preferences
$ ls -1 | grep plist | head -10
AddressBookMe.plist
com.adiumX.adiumX.plist
com.adiumX.adiumX.plist.lockfile
com.apple.AddressBook.plist
com.apple.AddressBook.plist.lockfile
com.apple.BezelServices.plist
com.apple.BezelServices.plist.lockfile
com.apple.BluetoothAudio.plist
com.apple.Console.LSSharedFileList.plist
com.apple.Console.LSSharedFileList.plist.lockfile

Para que servem esses arquivos de bloqueio?

kch
fonte
1
Há uma resposta detalhada a isso na cnet .
SSteve
1
Em Superusuário
Graham Perrin

Respostas:

8

A Apple fornece uma API dos Serviços de Preferências da Core Foundation para desenvolvedores, o que facilita o gerenciamento de preferências. A Apple usa a mesma API e esses arquivos de bloqueio ajudam o sistema a saber quais programas estão gravando nos arquivos e ajuda o sistema a notificar o programa em execução quando uma configuração é alterada.

O sistema acompanhará um arquivo que está aberto, mesmo que você o exclua e o exclua, mas provavelmente é melhor deixá-lo em paz (como a maioria dos ~ / Library), pois não há como desfazer o que está armazenado lá - eles estão lá para oferecer suporte o "desfazer" do resto do sistema.

bmike
fonte
1

Os arquivos de bloqueio são usados ​​para garantir que apenas um aplicativo interaja com um arquivo de preferência de uma só vez. A idéia é que um aplicativo abra o arquivo de bloqueio em um modo exclusivo enquanto ele abre a lista.

Fonte:

Steven Fisher
fonte
0

Infelizmente, infelizmente, mas normalmente existem arquivos de bloqueio para impedir que um arquivo seja editado por mais de uma coisa por vez e cause corrupção.

No entanto, se você executar o fs_usage no seu Mac para assistir à atividade do sistema de arquivos, nada parece tocar nesses arquivos. O Finder parece ler todos eles ocasionalmente, mas parece que é mesmo, mesmo que você altere as configurações de preferência em vários aplicativos.

Alistair McMillan
fonte
quando você sai de um aplicativo, o arquivo de bloqueio não desaparece. Rm'd todos, eles só parecem ser recriados no lançamento do aplicativo. Alterar prefs para um aplicativo não os recria.
kch
0

Você já reparou se pode fazer alterações nas configurações dos aplicativos? Também estou vendo esses arquivos de bloqueio e as preferências não estão sendo salvas nos arquivos plist.

ATUALIZAÇÃO: Descobri que havia uma ACL anterior que me impedia de fazer alterações nas configurações do aplicativo. Removendo as ACLs usando chmod -R -N na minha pasta pessoal, agora sou capaz de fazer alterações salvas.

Kent

Kent
fonte