2009-09-02 18 views
5

Estoy considerando instalar MacPorts en mi Mac para que pueda tener acceso fácil a las herramientas/aplicaciones dev de * nix. Sin embargo, me pregunto si hay riesgos. Estoy de acuerdo con el inevitable problema de compatibilidad de vez en cuando (oigo que Snow Leopard + MacPorts tiene problemas) pero no quiero que se vea afectada la estabilidad de mi sistema Mac "central". También tengo curiosidad si MacPorts agrega algún riesgo de seguridad significativo.¿Algún riesgo al usar Macports?

¡Apreciar la ayuda!

Respuesta

7

MacPorts usa un directorio totalmente diferente para sus instalaciones -/opt/local - que cualquier otro programa normal. Nunca he visto que afecte la estabilidad de un sistema (ni siquiera estoy seguro de cómo sería), y lo he tenido instalado en muchas computadoras durante varios años.

+0

@Chuck re "cómo sería", tenemos historias que incluyen rsync y tar instaladas por MacPorts como dependencias en las otras respuestas a esta pregunta. –

1

Está bien - yo uso MacPorts - no sobrescribirá ninguna de sus aplicaciones existentes en la ruta. Lo he estado usando durante años. Sin embargo, rompí por completo la instalación de mi Mac Ports; ahora no puedo instalar o autoactualizar. Pero solo me impidió instalar nuevos puertos; no ha afectado la estabilidad de ninguno de los existentes.

4

Uso Darvin/MacPorts desde hace años. Los uso extensivamente. Una vez al año, después de una importante actualización, los puertos se rompen de manera que es más fácil eliminarlos y comenzar de nuevo. Entonces eso es exactamente lo que hago. Me imagino que pasar dos o tres horas reinstalándolos es una buena inversión teniendo en cuenta la cantidad de tiempo que los puertos ahorran en manejar todo el software de código abierto para mí. La eliminación de los puertos no es una tareas triviales, aunque a menos que utilice este comando:

sudo rm -rf \ 
/opt/local \ 
/Applications/MacPorts \ 
/Applications/DarwinPorts \ 
/Library/Tcl/macports1.0 \ 
/Library/Tcl/darwinports1.0 \ 
/Library/LaunchDaemons/org.macports.\* \ 
/Library/StartupItems/DarwinPortsStartup \ 
/Library/Receipts/MacPorts*.pkg \ 
/Library/Receipts/DarwinPorts*.pkg 
+1

Gah! Cuatro años usando fink (¡mucho!) Y nunca sucedió algo como esto. Ven al lado de todo lo que es bueno y santo. – dmckee

+2

Es una cuestión de preferencia. Usé también Fink, pero decidí los puertos al final. – dimus

+1

Siento que Fink es más desordenado que MacPorts. – Vince

1

DarwinPorts pueden jugar algunos juegos divertidos con su variable de ruta, que tiene precedencia sobre los programas instalados del sistema que deben tener prioridad. Cosas como python y ruby ​​se convierten en un desastre, si hay algo que dependa de alguna versión específica. Aunque no suele ser un daño permanente. La mayoría de los problemas se pueden resolver desinstalando macports y revirtiendo la variable env de ruta.

+3

Es bastante sencillo. MacPorts instala * casi * todo en/opt/local/(ver excepciones) y modifica su shell .profile para insertar/opt/local/bin al frente de $ PATH. La intención es garantizar que, de forma predeterminada, los comandos de usuario instalados por los diversos paquetes MacPorts se ejecuten con preferencia a cualquier comando proporcionado por Apple con el mismo nombre. A menudo eso es lo que quieres. Si no, puede modificar su $ PATH o usar una ruta absoluta a la versión que desee. Tenga en cuenta las diferencias, sin embargo: me he quemado por una MacPorts rsync instalada implícitamente, por ejemplo. –

+0

@Ned Como dices, no hay de qué preocuparse * siempre que recuerdes que MacPorts instala utilidades con el mismo nombre que las del sistema *. El truco es la primera vez que te pasa a ti. Ver mi propia historia, y gracias por advertir sobre rsync, prestaré atención cuando la use. –

2

¿Has mirado la lista [bastante larga] de herramientas incluidas con el Xcode IDE? A partir de Snow Leopard, incluye gcc 4.0, 4,2, llvm-gcc y Clang, por ejemplo.

Cuando realiza la instalación de Xcode, hay una instalación opcional que completará muchas de las herramientas de desarrollo de unix-y estándar en/usr/bin /, etc ... Normalmente se encuentran en/Developer/bin/desde que Xcode comenzó a admitir la capacidad de mover las herramientas de desarrollo.

Personalmente, tengo un largo historial de desarrollo de Unix, incluido el trabajo multiplataforma, y ​​he sido un ávido usuario de Fink, luego MacPorts, durante años. Al hacer una instalación limpia de Leopard, nunca llegué a instalar Fink/MacPorts y no lo he necesitado desde entonces.

Ambos MacPorts y Fink son increíbles. Si necesitas varias Unix-y goop, cualquiera de las dos funcionará bien. Sin embargo, solo quería asegurarme de que conocía la plenitud del potencial de desarrollo de Unix-y que se incluye con Mac OS X.

(Seguir con las herramientas del sistema proporciona algunas ventajas adicionales; su código es más accesible para los demás) y las herramientas dev se han optimizado/parcheado/fijo para un soporte óptimo de Mac OS X)

1

no sé acerca de la situación actual con respecto a esto, pero en el pasado, me han quemado en el siguiente escenario:

  1. Apple quiere hacer la vida más fácil y proporciona compatibilidad con usuarios ex-Mac OS, modifica la versión del sistema de tar para codificar dat una bifurcación u otros metadatos específicos de Mac en archivos tar. Consideran, con razón, que es "solo otro sistema de archivos".La codificación no es nada sofisticada (similar a la codificación utilizada para los sistemas de archivos FAT32) pero es un buen toque.
  2. Los MacPorts quieren controlar la versión de alquitrán usada cuando se hacen cosas relacionadas con MacPorts (quizás corregir un error que ha estado presente en alguna versión provista por el sistema), instala alquitrán GNU prístino como dependencia para algún paquete.
  3. MacPorts tar es el primero en $ PATH, se utiliza en un lugar donde se deseaba el comportamiento del alquitrán de Apple.
  4. Copia de seguridad se revela que es inútil.

Aún así sigo usando MacPorts. Solo presto atención en el momento de usar tar. MacPorts es un ahorro de tiempo tan grande que no podría prescindir de él.

Cuestiones relacionadas