Entiendo la diferencia técnica entre enlaces simbólicos y enlaces duros, esta es una pregunta sobre su uso en la práctica, particularmente tengo curiosidad por saber por qué ambos se usan en condiciones aparentemente similares: el /bin
directorio.
Aquí hay un fragmento de su listado en mi sistema:
~$ ls -lai /bin
total 10508
32770 drwxr-xr-x 2 root root 4096 Jun 14 11:47 .
2 drwxr-xr-x 28 root root 4096 Sep 6 13:15 ..
119 -rwxr-xr-x 1 root root 959120 Mar 28 22:02 bash
2820 -rwxr-xr-x 3 root root 31112 Dec 15 2011 bunzip2
127 -rwxr-xr-x 1 root root 1832016 Nov 16 2012 busybox
2820 -rwxr-xr-x 3 root root 31112 Dec 15 2011 bzcat
6191 lrwxrwxrwx 1 root root 6 Dec 15 2011 bzcmp -> bzdiff
5640 -rwxr-xr-x 1 root root 2140 Dec 15 2011 bzdiff
5872 lrwxrwxrwx 1 root root 6 Dec 15 2011 bzegrep -> bzgrep
3520 -rwxr-xr-x 1 root root 4877 Dec 15 2011 bzexe
6184 lrwxrwxrwx 1 root root 6 Dec 15 2011 bzfgrep -> bzgrep
5397 -rwxr-xr-x 1 root root 3642 Dec 15 2011 bzgrep
2820 -rwxr-xr-x 3 root root 31112 Dec 15 2011 bzip2
2851 -rwxr-xr-x 1 root root 10336 Dec 15 2011 bzip2recover
6189 lrwxrwxrwx 1 root root 6 Dec 15 2011 bzless -> bzmore
5606 -rwxr-xr-x 1 root root 1297 Dec 15 2011 bzmore
Sangué los enlaces duros al mismo inodo para una mejor visibilidad. Así están los enlaces simbólicos utilizados en el caso de bzcmp
, bzegrep
, bzfgrep
, bzless
y en el caso de los enlaces duros bzip2
, bzcat
, bunzip2
?
Todos son archivos normales (no directorios), residen dentro de un sistema de archivos, son utilidades del sistema e incluso están diseñados para trabajar con lo mismo: archivos bzip. ¿Las razones para el uso de enlaces / enlaces simbólicos en este caso particular son puramente históricas o me falta algo?
Aclaración de mi pregunta:
Estoy no preguntar sobre:
- Las diferencias técnicas entre enlaces simbólicos y enlaces duros
- Las ventajas y desventajas teóricas de cada una de ellas.
Estas preguntas se han abordado en otros hilos en SO. Estoy tratando de entender por qué se tomaron diferentes decisiones en un caso específico: para un grupo de utilidades del sistema relacionadas. Técnicamente, todos podrían haber sido enlaces simbólicos o todos podrían haber sido enlaces duros, ambas opciones funcionarían (y en ambos casos un programa aún puede descubrir cómo se ha invocado a través de argv[0]
). Quiero entender la intención aquí si hay alguna.
Relacionado:
/bin
tercera columna dels -lai
siempre es1
así, parece que solo usa enlaces suaves. ¿Qué distribución usas?