Python3 resuelve OSError: [Errno 30] Error del sistema de archivos de solo lectura en MacOS Big Sur

Después de actualizar MacOS a Big Sur, descubrí que el archivo no se podía escribir en el disco usando el módulo del sistema operativo de Python3. Se informará de un OSError: [Errno 30] Read-only file systemerror.

1. Error de análisis

Dado que hay un error, ¡analizaremos el error!

Después de comprender, después de Mac OS 10.11, Apple introdujo una medida de protección del kernel SIP(Protección de la integridad del sistema), también conocida como el mecanismo del modo Rootless , para mejorar la seguridad del entorno del sistema .

En SIPcaso de que el mecanismo, el sistema de bloqueo por defecto /system, /sbin, /usrtres directorios, incluso si el interruptor a la rootusuario sólo puede ver, no puede realizar otras operaciones.

SIP Puede evitar eficazmente que los programas maliciosos dañen la computadora, por lo que se recomienda mantenerla encendida.

Para obtener una comprensión más detallada, consulte https://eclecticlight.co/2020/06/25/big-surs-signed-system-volume-added-security-protection .

Resolver el problema

Luego comprenda el problema, para abordar el problema, ya que es SIPun resultado de lo que tenemos desde el SIPprincipio.

Ver SIPestado.

MacBook:~ zhangyi$ csrutil status
System Integrity Protection status: open.

Si se encuentra SIPen estado abierto, estará SIPdeshabilitado.

MacBook:~ zhangyi$ csrutil disable
csrutil: This tool needs to be executed from Recovery OS.

Cuando ingresé el comando, descubrí que este comando solo se puede ejecutar en modo de recuperación.

。。。

¿Qué hay de ingresar al modo de recuperación de Apple?

Primero, reinicie la computadora, el ícono de Apple está oscuro, mientras mantiene presionado el Command+Rmodo de recuperación.

Ingrese a la página de recuperación, abra la terminal.

[Barra de menú superior] -> [Utilidades] -> [Abrir terminal]
Inserte la descripción de la imagen aquí
y ejecute el comando de desactivación.

csrutil disable 

Inserte la descripción de la imagen aquí
Finalmente, reinícielo.

reboot

Este general para pisarlo, si se quiere volver a abrir SIPtambién es necesario realizarlo en modo de recuperación.

csrutil enable

Si no lo resuelve, recuerde probar este comando.

sudo mount -uw /

Monte el directorio raíz.

Sin embargo, puede haber un error debido a permisos insuficientes:

mount_apfs: volume could not be mounted: Permission denied
mount: / failed with 66

mount_apfs: volume could not be mounted: Operation not permitted
mount: / failed with 77

Supongo que te gusta

Origin blog.csdn.net/yilovexing/article/details/113760937
Recomendado
Clasificación