Ejecuto macOS 10.14.6, "Mojave". He estado estudiando man screen
para hacer algunos cambios en su comportamiento predeterminado. Los párrafos 2 y 4 a continuación CUSTOMIZATION
dicen:
2do párrafo:
Cuando se invoca screen, ejecuta comandos de inicialización desde los archivos "/usr/local/etc/screenrc" y ".screenrc" en el directorio de inicio del usuario. Estos son los "valores predeterminados del programador" que se pueden anular de las siguientes maneras: para el archivo screenrc global, la pantalla busca la variable de entorno $SYS-SCREENRC (esta función de anulación puede desactivarse en tiempo de compilación). El archivo screenrc específico del usuario se busca en $SCREENRC, luego en $HOME/.screenrc. La opción de línea de comando -c tiene prioridad sobre la búsqueda anterior en $SCREENRC, luego en $HOME/.screenrc. La opción de línea de comando -c tiene prioridad sobre los archivos screenrc de usuario anteriores.
4to párrafo:
Se envían dos archivos de configuración como ejemplos con su distribución de pantalla: "etc/screenrc" y "etc/etcscreenrc". Contienen una serie de ejemplos útiles para varios comandos.
Pero parece que hay algunas discrepancias:
/usr/local/etc
no existe$SYSSCREENRC
no está definido ( echo $SYSSCREENRC
=> nulo)$SCREENRC
no está definidoetc/screenrc
no existe (ni private/etc/screenrc
)etc/etcscreenrc
no existe (ni private/etc/etcscreenrc
)###Pregunta... ¿Se requiere un proceso de actualización separado en macOS para obtener actualizaciones para las herramientas y los manuales del sistema de Unix? Por ejemplo, según man screen
los paquetes de Apple screen
versión 4.0.2 (cosecha de enero de 2004) con macOS 10.14.6; ese lanzamiento fue hace 16 años este mes.
¿Existe algún proceso fuera de macOS para actualizar esta parte del sistema que está "autorizado" por Apple? ( Por "sancionado" solo me refiero a un procedimiento designado por Apple para mantener la integridad del sistema ) .
Si no, ¿ha reconocido Apple esta situación? Por eso solo estoy tratando de aprender si me perdí algo.
¿Se requiere un proceso de actualización separado en macOS para obtener actualizaciones para las herramientas y los manuales del sistema de Unix? Por ejemplo, según
man screen
la versión 4.0.2 de la pantalla de paquetes de Apple (cosecha de enero de 2004) con macOS 10.14.6; ese lanzamiento fue hace 16 años este mes.
No. No existe un proceso separado para actualizar las herramientas/utilidades de Unix.
Es muy poco probable que las herramientas de Unix se actualicen más allá de las versiones que está viendo ahora.
¿Por qué? Licencias GPL .
Usando screen
como ejemplo, probablemente permanecerá en la versión 4.0.2 porque esa fue la última versión que usó la licencia pública GPLv2 menos restrictiva. La versión 4.2 (2007) y los lanzamientos posteriores utilizan la GPLv3 que, por lo general, Apple no quiere cumplir.
Consulte ¿macOS es principalmente de código cerrado? para más información.
En cuanto a las cuestiones que planteó con respecto a screen
:
/usr/local/etc
es un directorio BSD. Muchos macOS tienen fundamentos BSD, pero este directorio no se usa.Si no, ¿ha reconocido Apple esta situación? Por eso solo estoy tratando de aprender si me perdí algo.
No hay nada que reconocer ya que esto fue hecho intencionalmente por Apple. Si desea "actualizar" a la última versión de una utilidad de Unix, debe compilarla desde la fuente, usar MacPorts o HomeBrew. Sin embargo, tendrás que gestionar la actualización de los mismos.
No. Son las páginas man correctas para las versiones de las utilidades que se envían con macOS.
El único problema real que veo aquí es la mención de /usr/local/etc
en la página de manual. Lo más probable es que sea solo un descuido de Apple cuando copiaron la página del manual 1:1 de la distribución. En Mojave, screen
lee la configuración predeterminada /private/etc/screenrc
(que no existe a menos que la cree).
$ strings /usr/bin/screen | grep screenrc
%s/.screenrc
-c file Read configuration file instead of '.screenrc'.
Sorry, too late now. Place that in your .screenrc file.
/private/etc/screenrc
$ ls /private/etc/screenrc
ls: /private/etc/screenrc: No such file or directory
Para los demás artículos
screenrc
(el valor predeterminado de todo el sistema generalmente se lee desde /private/etc/screenrc
) o .screenrc
(el valor predeterminado específico del usuario generalmente se lee desde ~/.screenrc
) desde otro lugar (o usar uno personalizado para necesidades específicas)etc/screenrc
y etc/etcscreenrc
" se envían como ejemplos con su distribución de pantalla ", la ruta es relativa al directorio de distribución del código fuente. Probablemente no estén incluidos en macOS, si es necesario, puede obtener el código fuente de Apple o GNU ( screenrc , etcscreenrc ).PD: Las páginas de manual son parte de la instalación estándar de macOS, no hay un proceso separado para actualizarlas.
PPS: las versiones más recientes de las herramientas estándar de Unix/GNU generalmente se pueden instalar a través de Homebrew .
Seamus
Alano
nivel Z4
/bin/bash
es la versión 3.2, © 2007. Quizás la licencia de estilo MIT utilizada porzsh
es el verdadero motivador para que Apple cambie el shell predeterminado...Alano
Seamus
GPL licensed software
; al menos algunosBSD-licensed software
en MacOS tampoco están actualizados.Alano
Alano
Seamus
"I read your answer and it should be down voted..."
. Parece un comentario extraño por dos razones: 1. Respondiste la pregunta y 2. No envié una respuesta, solo la pregunta.