Cómo evitar que iCloud y Dropbox bloqueen la expulsión de discos

Los servicios de sincronización en la nube son conocidos por impedir la expulsión de discos externos en Mac. Aquí tienes por qué retienen tus discos y cómo solucionarlo.

Cerraste cada app. Guardaste todo. Haces clic en expulsar y macOS dice que el disco todavía está en uso. Ejecutas lsof y ves bird, cloudd o Dropbox en la salida. Un servicio de sincronización en la nube está reteniendo tu disco como rehén.

Esta es una de las causas más comunes y menos entendidas de fallos de expulsión en Mac. Los servicios de sincronización en la nube se ejecutan constantemente en segundo plano y están diseñados para detectar cambios en los archivos. Esa vigilancia implica archivos abiertos, y los archivos abiertos hacen que tu disco no se expulse.

Por qué los servicios de sincronización bloquean la expulsión

Los servicios de sincronización en la nube funcionan observando las carpetas en busca de cambios. Cuando un archivo se crea, modifica o elimina, el servicio lo detecta y sincroniza el cambio con la nube. Para detectar estos cambios, el servicio mantiene archivos abiertos o usa observadores de eventos del sistema de archivos en los directorios que vigila.

El problema ocurre cuando alguna de las rutas vigiladas existe en tu disco externo. Esto puede pasar de varias formas:

Almacenaste explícitamente una carpeta sincronizada en el disco. Quizás moviste tu carpeta de Dropbox al disco externo por razones de espacio, o mantienes una carpeta de proyecto ahí que está compartida a través de iCloud Drive.

Una aplicación creó un archivo en el disco que un servicio de sincronización reclamó. Algunas apps guardan archivos temporales, cachés o metadatos de proyecto en cualquier volumen desde el que estén trabajando.

Spotlight indexó tu disco y un servicio de sincronización se enganchó con los datos del índice. Esto es indirecto, pero sucede.

iCloud específicamente

El demonio de sincronización de iCloud en macOS se llama bird (sí, en serio). También verás a cloudd manejando algunas operaciones de sincronización. Estos procesos se ejecutan como servicios del sistema y se reinician automáticamente si los cierras.

Si bird está bloqueando tu disco, es que está vigilando un archivo o carpeta de ese volumen. Los desencadenantes habituales son:

  • Escritorio y Documentos de iCloud: si tienes esta función activada y tu disco externo aparece como ubicación en Finder, iCloud podría indexar rutas relacionadas con él.
  • Vista Previa y QuickLook: Abrir un archivo de tu disco externo en Vista Previa puede crear referencias de archivos recientes sincronizados con iCloud.
  • Pages, Numbers o Keynote: Estas apps guardan automáticamente en iCloud por defecto. Si abriste un documento desde tu disco externo, la app podría mantener una conexión entre el archivo local y una referencia de iCloud.

Para verificar si iCloud es tu bloqueador:

lsof /Volumes/NombreDeTuDisco | grep -i bird
lsof /Volumes/NombreDeTuDisco | grep -i cloudd

Dropbox específicamente

Dropbox es aún más agresivo con la vigilancia de archivos. En versiones modernas de macOS, el cliente de Dropbox usa el framework File Provider de Apple (el antiguo enfoque de extensión del kernel quedó obsoleto en macOS 12.3) para vigilar las operaciones del sistema de archivos en tiempo real.

Si tu carpeta de Dropbox o cualquier carpeta sincronizada con Dropbox está en tu disco externo, Dropbox mantendrá conexiones persistentes con ese volumen. Incluso los archivos que terminaron de sincronizarse hace mucho podrían tener archivos abiertos por parte de Dropbox para vigilarlos.

También puedes ver el proceso fileproviderd de Apple manteniendo archivos abiertos en nombre de Dropbox. Es el demonio del sistema que gestiona todas las extensiones de File Provider, incluidos Dropbox, OneDrive y Google Drive. Puede crear archivos abiertos adicionales en volúmenes que esos servicios estén vigilando.

El enfoque más confiable con Dropbox: cierra la aplicación de Dropbox completamente antes de expulsar. Haz clic en el icono de Dropbox en la barra de menús, haz clic en tu foto de perfil y selecciona Salir. Después de expulsar tu disco, vuelve a abrir Dropbox.

Google Drive y OneDrive

La app de escritorio de Google Drive (Drive para Escritorio) crea un disco virtual que puede interactuar con tus discos externos a través de operaciones de archivos. Si copiaste archivos entre Google Drive y tu disco externo, el cliente de Drive podría mantener referencias.

OneDrive se comporta de manera similar a Dropbox, con vigilancia de archivos en segundo plano. Generalmente es menos agresivo en retener archivos abiertos, pero todavía puede bloquear la expulsión.

Ambos servicios pueden pausarse o cerrarse desde sus iconos en la barra de menús antes de expulsar.

El flujo de trabajo práctico

Si regularmente trabajas con archivos en discos externos y usas servicios de sincronización en la nube, construye el hábito de pausar la sincronización antes de expulsar.

Para iCloud no hay un botón de pausa cómodo, pero puedes desactivar temporalmente iCloud Drive en Ajustes del Sistema > Apple ID > iCloud > iCloud Drive. Eso sí, resulta bastante molesto.

Para Dropbox, pausa la sincronización desde el icono en la barra de menús. Haz clic en el icono de Dropbox, haz clic en tu perfil y selecciona «Pausar sincronización».

Para Google Drive, haz clic en el icono de Drive en la barra de menús y selecciona «Pausar sincronización».

Después de pausar, espera unos segundos para que los archivos abiertos se cierren, luego expulsa tu disco.

Cómo prevenir el problema

El enfoque más limpio es no almacenar nunca carpetas sincronizadas en la nube en discos externos. Mantén las carpetas de sincronización en el almacenamiento interno de tu Mac y usa discos externos para datos que no necesitan sincronizarse.

Si debes mantener contenido sincronizado en un disco externo, crea una separación clara. Pon archivos sincronizados en una carpeta y archivos no sincronizados en otra. Cuando necesites expulsar, sabrás qué servicio de sincronización pausar.

Evita abrir archivos de tu disco externo con apps que guardan automáticamente en iCloud (Pages, Numbers, Keynote, Vista Previa). O como mínimo, cierra esas apps y dales un momento para liberar archivos antes de expulsar.

Cuando pausar no es suficiente

A veces has pausado la sincronización, cerrado las apps, y el disco todavía no se expulsa. El servicio de sincronización dejó un archivo abierto obsoleto que persiste incluso después de pausar.

Puedes forzar la liberación de estos archivos matando el proceso específico:

kill $(lsof -t /Volumes/NombreDeTuDisco)

Esto mata cada proceso usando el disco. Es agresivo pero efectivo.

Ejecta maneja esto de forma más quirúrgica. Identifica exactamente qué procesos están reteniendo tu disco, incluyendo demonios de sincronización en la nube, y te permite cerrarlos individualmente. En lugar de matar todo lo conectado al disco, puedes apuntar solo al proceso bird o solo al auxiliar de Dropbox que está causando el problema. Es particularmente útil cuando no estás seguro de cuál de varios servicios de sincronización es el culpable.

La sincronización en la nube y los discos externos no tienen por qué estar en conflicto. Solo necesitas ver lo que pasa entre bastidores.

Si prefieres no usar Terminal cada vez, Ejecta te muestra exactamente qué proceso está bloqueando tu disco y te permite cerrarlo con un clic, desde la barra de menú.

Comprar — $9.99