Pregunta:
Soy nuevo en Linux y estoy ejecutando CentOS. Me he encontrado con cuatro formas de actualizar o instalar software.
Hasta ahora, he visto:
-
yum install [program]
-
apt-get install [program]
-
rpm -i [program].rpm
-
wget [program].tar.gz
->unpack
->./configure
->make
->make install
Este último es un verdadero dolor de cabeza, especialmente viniendo de Windows, donde la instalación de un programa suele ser un clic y un asistente de instalación agradable.
Entonces, mis preguntas son:
- ¿Por qué hay tantas formas diferentes de hacer esto en Linux?
- ¿Cuál me recomienda usar y por qué?
- ¿Hay otras formas de instalar programas en Linux?
Respuesta:
Todas estas herramientas instalan software en su sistema, pero funcionan en diferentes niveles.
-
./configure && make install
Ejecutar
./configure && make install
compila e instala las bibliotecas o ejecutables directamente desde el código fuente.El paso de
make install
básicamente solo copia los archivos finales en su sistema. Muchas fuentes vienen con una regla especial demake uninstall
para eliminarlas nuevamente, pero esto no está garantizado y, por supuesto, solo funciona siempre que tenga las fuentes configuradas. Además, esto no se ocupa de las dependencias necesarias.A menudo, solo está disponible el código fuente para un determinado paquete, por lo que este es el único camino a seguir. Además,
./configure
generalmente acepta muchas opciones que le permiten personalizar su paquete.No poder averiguar qué software instaló qué archivo y la falta de una forma confiable de eliminarlos del sistema son las principales deficiencias de este enfoque.
-
RPM (Administrador de paquetes de Redhat)
rpm
instala software ya configurado y compilado en su sistema y también viene con una desinstalación para deshacerse de él nuevamente. Los paquetes deben ser creados por alguien. Esta persona ya decidió qué funciones incluir y cómo integrar mejor el paquete en el diseño de su sistema. También viene con una lista de dependencias.Dado que los rpms se utilizan para muchas distribuciones allí, a menudo querrá asegurarse de que este rpm se haya escrito para su distribución, de modo que las rutas de instalación, las dependencias y otras cosas de limpieza se integren bien.
En los sistemas Debian, el formato de paquete equivalente es
.deb
y la instalación y la base de datos son manejadas por la herramientadpkg
. -
Mmm
yum
es un envoltorio adicional alrededor derpm
. Mantiene su propia base de datos de archivos rpm disponibles para su distribución, generalmente en repositorios en línea. Para las versiones estables de la mayoría de las distribuciones, todos los paquetes dentro de esa base de datos funcionarán bien entre sí. Esta base de datos se puede buscar (por ejemplo, conyum search some_name
).También resolverá automáticamente las dependencias. Los paquetes (y con ayuda adicional sus dependencias) también se pueden desinstalar fácilmente.
En los sistemas Debian, Apt (
apt-get
yaptitude
) proporciona el repositorio equivalente y las herramientas de resolución de dependencias.
Entonces, para resumirlo: si solo quieres algún software, prueba primero yum
. Si no está disponible allí, puede intentar encontrar un paquete rpm
existente. Si no hay ninguno o si tiene algunos requisitos especiales, compile desde el código fuente.