18 votos

¿No se puede crear una carpeta en root del 'Macintosh HD'?

Estoy ejecutando MacOS 10.15.4 y necesito crear una carpeta no específica para el usuario en la base del volumen primario (Macintosh HD), pero el Finder no me lo permite (opción en gris) y desde el terminal me lo deniega.

Desde la terminal:

mkdir /MyFolder
mkdir: /MyFolder: Read-only file system

¿Alguien puede explicar cómo se puede hacer esto? Definitivamente era posible en el pasado, antes de Catalina.

1 votos

Como el error señaló, el sistema es ahora de sólo lectura, por lo que lo único que puede hacer es desactivar eso (no se recomienda) o fingirlo - ver el synthetic.conf para sintetizar un punto de montaje en la carpeta root.

0 votos

¿Qué tal si creas la carpeta en /Usuarios/Compartido en su lugar (para eso está)?

0 votos

Voy a echar un vistazo a synthetic.conf . Resulta que hay /System/Volumes/Data/ pero es una pena que Apple no haya optado por hacer una vista unificada en el Finder. El /Users/Shared puede estar bien para algunas cosas, pero para /Servers/ (una de las carpetas) que debería ser sólo Root no es lo ideal y además está conceptualmente fuera de lugar.

21voto

Jose Chavez Puntos 645

En Catalina el volumen primario es de sólo lectura. Esto significa que no es posible crear inmediatamente nuevas carpetas aquí.

Para evitarlo, el sistema proporciona lo que se conoce como enlaces firmes sintéticos. Esto le permite crear lo que parece ser carpetas en root del sistema de archivos.

Es necesario crear el archivo /etc/synthetic.conf que debe ser propiedad de Root y del grupo wheel con permisos 0644.

El contenido debería ser así:

newfolder     Users/foo/bar

"newfolder" es el nombre de la carpeta virtual que se creará en root del sistema de archivos. "Users/foo/bar" es la ubicación real de la carpeta. Debes asegurarte de que esta carpeta existe realmente. No es necesario que esté dentro de Users, sino que puede estar en cualquier lugar de su sistema.

NOTA: Es importante asegurarse de que el espacio entre los dos nombres de carpeta es un carácter TAB, y no un número de espacio.

Después de crear el archivo anterior con el contenido especificado, es necesario reiniciar el sistema. Después de reiniciar, verás el /newfolder carpeta.

0 votos

Gracias. BTW por probarlo yo mismo, no hay necesidad de modo de recuperación para crear /etc/synthetic.conf Pero es necesario reiniciar el sistema para que los cambios surtan efecto. He creado la nueva carpeta en System/Volumes/Data Según otras sugerencias. Me sorprendió el separador de pestañas, También la entrada KB de Apple en este cambio: support.apple.com/es-ca/HT210650

0 votos

¿es posible evitar el reinicio? en aws tarda horas...

0 votos

@DaneelYaitskov No.

2voto

Aquí tienes un copia y pega para que el terminal lo configure:

# Be sure to change:
# FOLDER_NAME   - the root folder name. 
# ACTUAL_PATH_TO_REAL_FOLDER - the path to the "real" folder.
# 
#    Example: 
#    "Drives    /Users/bob/Documents/Drives"
#    .......^ this is tab (not spaces)

sudo touch /etc/synthetic.conf
sudo chmod 0777 /etc/synthetic.conf
sudo echo "FOLDER_NAME  ACTUAL_PATH_TO_REAL_FOLDER" >> /etc/synthetic.conf
sudo chmod 0644 /etc/synthetic.conf
sudo chown root:wheel /etc/synthetic.conf

0 votos

¿Por qué hacerla ejecutable con el 0777? sudo lo creará sin problemas en la tercera línea. Por qué chmod/chgrp recursivo con -R ? Es un archivo simple, ¿no?

0 votos

Estos son buenos puntos, 777 porque está en un lugar protegido, supongo que podría ser 766 o 222, pero es sólo temporal, y 777 es fácil de escribir y entender :)

0 votos

Si etc/synthetic.conf no ya existe, entonces sudo touch /etc/synthetic.conf crea el archivo y ya ha establecido el propietario:grupo a root:wheel haciendo así sudo chown root:wheel /etc/synthetic.conf ¡no es necesario en absoluto!

1voto

Michael Puntos 101

Según man synthetic.conf :

Debido a que el punto de montaje root es de sólo lectura a partir de MacOS 10.15, los archivos físicos pueden no en este lugar. Todas las rutas de escritura deben residir en el volumen de datos, que se monta en /System/Volumes/Data .

Como solución, la documentación sugiere utilizar /etc/synthetic.conf para crear enlaces simbólicos virtuales o directorios vacíos en el punto de montaje root.

Tres ejemplos (vía página man)

En cada caso, añada lo siguiente a /etc/synthetic.conf

# example 1: create an empty directory named "foo" at / which may be mounted over
foo

# example 2: create a symbolic link named "bar" at / which points to
# "System/Volumes/Data/bar", a writeable location at the root of the data volume
bar   System/Volumes/Data/bar

# example 3: create a symbolic link named "baz" at / which points to "Users/me/baz"
baz   Users/me/baz

Nota: las palabras deben estar separadas por tabulaciones. Lamentablemente, StackOverflow interpreta los tabuladores como espacios.

Automatización

echo -e "baz\tUsers/me/baz" | sudo tee -a /etc/synthetic.conf

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X