Mac OS X: instalación de software mediante DMG frente al estilo de línea de comando *nix

Mac OS X: instalación de software mediante DMG frente al estilo de línea de comando *nix

Nuevo propietario de Mac aquí, pero usuario de Linux desde hace mucho tiempo. ¿Alguien puede describirme las diferencias entre instalar un software, como Subversion, desde una imagen .dmg en lugar de compilarlo e instalarlo desde el código fuente en la línea de comando? ¿El software termina en la misma ubicación? ¿Qué otras diferencias existen, como los procedimientos de desinstalación? ¿Cuáles consideraría usted los pros y los contras de un enfoque sobre el otro?

Respuesta1

A .dmges simplemente un disco virtual ("imagen de disco") y por sí solo no tiene nada que ver con la instalación.

Cuando la imagen del disco contiene solo una aplicación (normalmente habrá un texto explicativo que le pedirá que la arrastre a su carpeta de Aplicaciones), entonces todo el código y los archivos de soporte están contenidos en ese único archivo. La aplicación es responsable de realizar cualquier configuración en el primer lanzamiento y es responsable de proporcionar un mecanismo de desinstalación, en todo caso.esinstalado más adelante. Muchos desarrolladores están utilizando elBrillarframework para buscar e instalar actualizaciones.

Si la imagen del disco contiene un paquete ( .pkgo .mpkg), ese es un instalador. Ejecutarlo podría instalar archivos en cualquier lugar de su sistema y ejecutar scripts previos y posteriores a la instalación, y no hay un mecanismo integrado de desinstalación o actualización (sin embargo, el sistema mantiene un registro de los paquetes instalados, por lo que si luego ejecuta un paquete de instalación para una versión más reciente del software, es posible que se comporte de manera diferente que si hubiera sido una primera instalación). También en este caso, el desarrollador es responsable de la desinstalación y de las actualizaciones. Los desarrolladores responsables instalarán en directorios estándar ( /Applications, /Libraryy ~/Library,, /usretc.)

Para el software de línea de comandos que normalmente instalarías desde el código fuente, recomendaría un administrador de paquetes comoPuertos Mac(mi preferencia) oSoplónsobre el uso de un paquete de instalación. Ambos administradores de paquetes configuran un directorio autónomo ( /opty /sw, respectivamente) con todos los archivos de soporte y código ejecutable para el software que instalan (y la mayoría de los paquetes lo respetan), y se agregan a su archivo $PATH. Una gran ventaja de utilizar un administrador de paquetes es que realizará un seguimiento del software instalado y le permitirá actualizarlo o desinstalarlo.

Respuesta2

La instalación desde un archivo .dmg generalmente es solo arrastrar y soltar en /Aplicaciones. En mi opinión, la desinstalación es un punto delicado en la experiencia de Mac. Puede eliminar el archivo de Aplicaciones, pero solo desaparecerán las cosas que están encapsuladas en el contenedor .app. Los archivos de configuración adicionales no desaparecen.

Otra ruta de instalación que debes considerar esPuertos Macy/oSoplón. Son algo similares a apt-get o yum en el mundo Linux. Proporcionan una utilidad de línea de comandos para capturar, compilar e instalar software común. Generalmente es tan simple como:

$ sudo port install svn

(ejemplo de macport)

Respuesta3

Esto es algo complicado, porque dentro del DMG puede haber una solución simple de arrastrar y soltar, o una.PKG, que puede instalar cosas en cualquier ubicación.Los .pkg normalmente dejan recibos (generalmente en /Biblioteca/Receipts), aunque OS X no ofrece una manera fácil de administrar esos recibos.

Pacifist es una aplicación útil que examina los archivos .pkg (que muchas aplicaciones de línea de comandos usan para ubicaciones de instalación personalizadas) antes de la instalación para que pueda comprender exactamente dónde se pueden instalar las cosas. Luego puede determinar si su versión autocompilada se instalará en la misma ubicación o no, y si entrarán en conflicto con las versiones del sistema:

http://www.charlessoft.com/

Específicamente, deberá asegurarse de que, si se instalan en diferentes ubicaciones, su ruta refleje la versión deseada que desea utilizar. Sospecho que la subversión no debería ser problemática con varias versiones instaladas... Para Ruby, uso un nombre ruby19 para el ejecutable de Ruby para detener cualquier problema de ruta con código incompatible.

Hay un complemento de vista rápida menos potente, pero gratuito, para archivos .pkg que realiza el trabajo básico de mostrar dónde se instalarán las cosas:

http://www.mothersruin.com/software/SuspiciousPackage/

información relacionada