This article is for an older version of CCC. You can find the latest version here.
Product: 
ccc5

Cuando Apple introdujo el sistema de archivos APFS hace varios años, llegó con un concepto nuevo: el contenedor APFS. Todos los volúmenes APFS residen en un contenedor, y el contenedor reside dentro del esquema de particiones del disco. Todos los volúmenes de un contenedor comparten el espacio disponible para el contenedor; los contenedores APFS independientes no comparten espacio entre ellos.

En macOS High Sierra, Apple añadió el concepto de roles a los volúmenes. En ese momento solo había tres roles, que eran mayormente invisibles para el usuario medio: Preboot, Recovery y VM (memoria virtual). Estos roles permiten al sistema identificar volúmenes concretos con usos concretos, y tratar entonces estos volúmenes de ciertas formas (por ejemplo, cualquier volumen con los roles anteriores estaría oculto de forma predeterminada y tampoco se montaría de forma predeterminada).

El siguiente gráfico demuestra algunos de estos conceptos de APFS:

Conceptos del sistema de archivos APFS

El esquema de particiones abarca al disco físico entero. Dentro del esquema de particiones puede crear uno o varios contenedores APFS, y dentro de cada contenedor puede crear uno o varios volúmenes APFS. A diferencia de cómo funcionaba el particionado antes, todos los volúmenes del contenedor comparten el espacio asignado al contenedor. En el ejemplo anterior, las tres particiones auxiliares grises, los volúmenes System y Data, y el «Otro volumen» tienen acceso a ese fragmento de almacenamiento de 700 GB. «Otro volumen B» se encuentra en otro contenedor independiente y no comparte espacio con los volúmenes del contenedor «A». Normalmente, un disco no se particionaría de este modo, pero sí sería lógico si, por ejemplo, desea mantener un clon de su disco de arranque en ese mismo disco (por ej., para hacer pruebas en el caso de desarrolladores).

Nuevo concepto: Grupos de volúmenes APFS

En macOS Catalina, Apple introdujo otro concepto nuevo al sistema de archivos APFS: los grupos de volúmenes. Es más bien un agrupamiento conceptual de volúmenes dentro de un contenedor APFS, no una nueva subestructura. Apple también amplió enormemente el número de roles disponibles para los volúmenes APFS (ahora hay 16 roles distintos). Cuando actualiza a Catalina, su volumen actual de sistema de macOS se renombra, por ej., a «Macintosh HD - Data», con su rol configurado como Data, y entonces se añade un nuevo volumen al contenedor APFS de su disco de arranque con el rol System y se agrupa al mismo tiempo con el volumen Data. Los dos volúmenes dentro de ese grupo comparten vínculos especiales y reciben un trato especial por parte del Finder y del sistema de archivos de cada volumen. Desde el punto de vista del usuario, estos dos volúmenes se tratan como un único volumen unificado. Pero si echa un vistazo a Utilidad de Discos, verá los dos volúmenes como elementos independientes y distintos.

El volumen System, de solo lectura

Quizá el mayor cambio individual de macOS Catalina se la manera en que el volumen System se monta al arrancar: es de solo lectura. Al montar el volumen como solo lectura, resulta imposible para un atacante hacer cambios al contenido del volumen de sistema de macOS. Eso no quiere decir que su Mac esté totalmente libre de todos los posibles vectores de ataque, es simplemente otra línea de defensa contra ellos.

En macOS Big Sur, Apple ha ampliado la protección del volumen System con la introducción de un «volumen System firmado», que está sellado criptográficamente. El volumen System ya no se monta en absoluto al arrancar; en lugar de eso, se monta una instantánea del volumen System y se emplea como disco de arranque. La instantánea es de solo lectura y es totalmente inmutable.

El volumen Data

Podemos pensar en el volumen Data como una «sombra» de lectura y escritura del volumen System. El volumen Data contiene todos sus datos de usuario (por ej., su carpeta de inicio y las aplicaciones de terceros), pero también contiene varios componentes de sistema que no pueden residir en un volumen de solo lectura. Por ejemplo, Apple ha colocado Safari en el volumen Data, quizá para que se pueda actualizar con más frecuencia. El volumen Data del disco de arranque actual se monta en un punto de montura especial del sistema. Puede encontrarlo si usa el Finder para ir a Macintosh HD > System > Volumes > {nombre del volumen Data}. Lo que encontrará ahí es una réplica de las carpetas de la raíz del volumen System. Dentro de estas carpetas están todos los componentes del sistema que aún se pueden escribir. Pero normalmente no verá estos elementos en el Finder, ya que el Finder combina visualmente el contenido de los dos volúmenes para que aparezcan como un único volumen. Además, el Finder no mostrará el volumen Data junto a los demás volúmenes; el volumen Data se monta pero está oculto.

Crear vínculos con los firmlinks

Para lograr la ilusión de un único volumen unificado, Apple añadió compatibilidad con APFS a los firmlinks. Como el nombre implica, un firmlink está conceptualmente entre un soft link (vínculo blando) y un hard link (vínculo duro). Es posible que eso no lo aclare nada (incluso para gente familiarizada con los soft links y los hard links). Apple describe un firmlink como un «agujero de gusano bidireccional» entre dos sistemas de archivos. Veamos como ejemplo la carpeta «Usuarios». La carpeta Usuarios que hay en la raíz del volumen System es en realidad un firmlink que apunta a la carpeta Usuarios del volumen Data. Si intenta ir a la carpeta /Usuarios del volumen System, en realidad verá el contenido de la carpeta /Usuarios del volumen Data. Del mismo modo, supongamos que está viendo una carpeta en el Escritorio (de modo que está viendo el contenido del volumen Data) y que sube varios niveles. Cuando llega al padre de la carpeta «Usuarios», ya no está viendo el volumen Data: ese firmlink le ha transportado hasta el nivel raíz del volumen System.

Hay un par de decenas de firmlinks en macOS Catalina que vinculan varias carpetas en el volumen System con sus homólogos con permiso de escritura en el volumen Data. Si tiene curiosidad sobre estos, encontrará una lista completa de firmlinks en /usr/share/firmlinks en su disco de arranque.

Travesuras en el Finder con la carpeta Aplicaciones

Los firmlinks son mayormente transparentes, pero hay una excepción muy notoria: la carpeta Aplicaciones. La carpeta Aplicaciones que hay en el nivel raíz del volumen System es un firmlink a la carpeta Aplicaciones en el nivel raíz del volumen Data. Pero si va a su disco de arranque > System > Volumes > Data > Aplicaciones, verá que el grueso de las aplicaciones no está ahí. ¡Pero si va a la carpeta Aplicaciones en el volumen System, están todas! El Finder aplica un poco de magia en este sitio. La carpeta de solo lectura System Applications reside en realidad en System > Applications en el volumen System, y cuando abre la carpeta Aplicaciones en el Finder, verá la agregación de esa carpeta y de la carpeta Aplicaciones de la raíz del volumen Data. Para el usuario medio, esto es justo lo que uno esperaría ver, lo que resulta genial. No obstante, puede que no que esta misma agregación no se aplique otros volúmenes de sistema desde los que su Mac no haya arrancado en este momento (por ej., su disco de copia de seguridad). En esos volúmenes, si abre la carpeta Aplicaciones en la raíz del volumen visible System, solo verá el contenido del firmlink a la carpeta Aplicaciones de la raíz del volumen Data (esto es, ninguna aplicación de Apple, solo sus aplicaciones de terceros y Safari). Pero tenga la tranquilidad de que todas sus aplicaciones se guardarán en la copia de seguridad. Las encontrará en System > Aplicaciones en el volumen de copia de seguridad.

Documentación relacionada

Tags: