4 votos

¿Existe un interruptor de línea de comandos para "ls" que revele "firmlinks"

Con MacOS Sierra APFS llegó un nuevo concepto de "firmlinks", a menudo descrito como "entre hardlinks y symlinks".

Varias carpetas están ahora en System/Volumes/Data pero están firmemente vinculadas a ubicaciones en root del sistema de archivos. Tres ejemplos que conozco:

  • /Biblioteca -> /Sistema/Volúmenes/Datos/Biblioteca
  • /Usuarios -> /Sistema/Volúmenes/Datos/Usuarios
  • /Aplicaciones -> /Sistema/Volúmenes/Datos/Aplicaciones

¿Hay alguna manera de que al hacer un ls de / desde el Terminal para ver qué entradas de ese directorio son realmente firmlinks? No se menciona a los firmlinks en el ls página man. Los interruptores que conozco para ls que da la salida más detallada es: ls -alO@ / pero parece que no me lo dice:

drwxr-xr-x  20 root  wheel  sunlnk             640 24 Aug 16:59 .
drwxr-xr-x  20 root  wheel  sunlnk             640 24 Aug 16:59 ..
lrwxr-xr-x   1 root  admin  -                   36 24 Aug 16:59 .VolumeIcon.icns -> System/Volumes/Data/.VolumeIcon.icns
----------   1 root  admin  -                    0 24 Aug 16:59 .file
drwxr-xr-x   2 root  wheel  hidden              64 24 Aug 16:59 .vol
drwxrwxr-x  44 root  admin  sunlnk            1408 28 Oct 09:31 Applications
drwxr-xr-x  67 root  wheel  sunlnk            2144 14 Sep 10:42 Library
drwxr-xr-x@  9 root  wheel  restricted         288 24 Aug 16:59 System
    com.apple.rootless     0 
drwxr-xr-x   5 root  admin  sunlnk             160 24 Aug 16:59 Users
drwxr-xr-x   3 root  wheel  hidden              96 25 Oct 15:39 Volumes
drwxr-xr-x@ 38 root  wheel  restricted,hidden 1216 24 Aug 16:59 bin
    com.apple.rootless     0 
drwxrwxr-t   2 root  admin  hidden              64  8 Dec  2020 cores
dr-xr-xr-x   4 root  wheel  hidden            4888 25 Oct 15:39 dev
lrwxr-xr-x@  1 root  wheel  restricted,hidden   11 24 Aug 16:59 etc -> private/etc
    com.apple.rootless     0 
lrwxr-xr-x   1 root  wheel  hidden              25 25 Oct 15:39 home -> /System/Volumes/Data/home
drwxr-xr-x   2 root  wheel  hidden              64  8 Dec  2020 opt
drwxr-xr-x   6 root  wheel  sunlnk,hidden      192 25 Oct 15:39 private
drwxr-xr-x@ 65 root  wheel  restricted,hidden 2080 24 Aug 16:59 sbin
    com.apple.rootless     0 
lrwxr-xr-x@  1 root  wheel  restricted,hidden   11 24 Aug 16:59 tmp -> private/tmp
    com.apple.rootless     0 
drwxr-xr-x@ 11 root  wheel  restricted,hidden  352 24 Aug 16:59 usr
    com.apple.rootless     0 
lrwxr-xr-x@  1 root  wheel  restricted,hidden   11 24 Aug 16:59 var -> private/var
    com.apple.rootless     0

4voto

Andy Griffiths Puntos 1

No hay ningún interruptor para ls para proporcionar la información, pero la información está disponible a través de otros medios.

Howard Oakley, (como siempre) tiene un buen artículo sobre los cambios en el sistema de archivos de Catalina. Cubre los firmlinks con cierto detalle (aunque, como observas, los firmlinks aparecieron antes) y también enlaza con un artículo de Bombich sobre lo mismo.

Hay algo de "magia" en el uso de /usr/share/firmlinks que describe qué enlaces firmes están presentes. Y el artículo de Oakley menciona /etc/synthetic.conf que puede ser utilizado por los usuarios para crear el suyo propio, y además enlazar con un artículo relevante.

https://eclecticlight.co/2020/01/23/catalina-boot-volumes/

https://bombich.com/kb/ccc5/working-apfs-volume-groups

https://derflounder.wordpress.com/2020/01/18/creating-Root-level-directories-and-symbolic-links-on-MacOS-catalina/

Como /usr/share/firmlinks sólo lista un número limitado de la instalación del SO, mientras que es posible tener un script que fusione la salida de ls con la lista es posible, sería un poco inútil y estático, con la excepción de lo que el usuario ha implementado en /etc/synthetic.conf . Pero de nuevo ahí, uno esperaría que el usuario tuviera recuerdo de su contenido.

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