¿Por qué mis listas en ~ / Biblioteca / Preferencias están acompañadas por un archivo de bloqueo coincidente en 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 qué son estos archivos de bloqueo?

kch
fuente
1
Hay una respuesta profunda a esto en cnet .
SSteve
1
En Super Usuario: ¿Qué es un archivo .lock?
Graham Perrin

Respuestas:

8

Apple proporciona una API de Core Foundation Preference Services a los desarrolladores que les facilita la administración de preferencias. Apple usa la misma API y estos archivos de bloqueo ayudan al sistema a saber qué programas están escribiendo en los archivos y ayuda al sistema a notificar al programa en ejecución cuando se cambia una configuración.

El sistema hará un seguimiento de un archivo que está abierto, incluso si lo elimina y lo elimina, pero probablemente sea mejor dejarlos solos (como la mayoría de ~ / Library) ya que no se pueden deshacer las cosas que están almacenadas allí, están ahí para apoyar el "deshacer" del resto del sistema.

bmike
fuente
1

Los archivos de bloqueo se utilizan para asegurarse de que solo una aplicación interactúa con un archivo de preferencias a la vez. La idea es que una aplicación abra el archivo de bloqueo en un modo exclusivo mientras abre el plist.

Fuente:

Steven Fisher
fuente
0

Desafortunadamente, solo son conjeturas, pero generalmente los archivos de bloqueo están ahí para evitar que un archivo sea editado por más de una cosa a la vez y cause corrupción.

Sin embargo, si ejecuta fs_usage en su Mac para ver la actividad del sistema de archivos, nada parece tocar estos archivos. El Finder parece leerlos todos ocasionalmente, pero parece ser eso, incluso si cambia la configuración de preferencias en varias aplicaciones.

Alistair McMillan
fuente
Sin embargo, cuando cierra una aplicación, el archivo de bloqueo no desaparece. Los resolví a todos, solo parecen recrearse en el lanzamiento de la aplicación. Cambiar las preferencias de una aplicación no las recrea.
kch
0

¿Has notado si puedes hacer cambios en la configuración de las aplicaciones? También veo estos archivos de bloqueo y las preferencias no se guardan en los archivos plist.

ACTUALIZACIÓN: descubrí que había una ACL anterior que me impedía realizar cambios en la configuración de la aplicación. Al eliminar las ACL usando chmod -R -N en mi carpeta de inicio, ahora puedo hacer cambios que se guardan.

Kent

Kent
fuente