Soy nuevo en Linux y estoy ejecutando CentOS. He encontrado 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
Ese último es un verdadero dolor, especialmente proveniente de Windows, donde la instalación de un programa suele ser un clic y un buen asistente de instalación.
Entonces, mis preguntas son:
- ¿Por qué hay tantas formas diferentes de hacer esto en Linux?
- ¿Cuál recomienda usar y por qué?
- ¿Hay alguna otra forma de instalar programas en Linux?
linux
installation
package-management
yum
rpm
Saif Bechan
fuente
fuente
yum
vsup2date
. Nunca he sido claro en la diferencia.apt-get
es para Debian, y realmente no debería aparecer en CentOS ...Respuestas:
Todas estas herramientas instalan software en su sistema, pero están trabajando en diferentes niveles.
./configure && make install
Ejecutar
./configure && make install
compila e instala las bibliotecas o ejecutables directamente desde el código fuente.El
make install
paso básicamente solo copia los archivos finales en su sistema. Muchas fuentes vienen con unamake uninstall
regla especial para eliminarlas nuevamente, pero esto no está garantizado y, por supuesto, solo funciona mientras tenga las fuentes configuradas. Además, esto no se ocupa de las dependencias requeridas.A menudo solo existe el código fuente disponible 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 (Redhat Package Manager)
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é características 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 usan 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 ladpkg
herramienta.Ñam
yum
es una envoltura adicional alrededorrpm
. 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 jugarán bien entre sí. Se puede buscar en esta base de datos (por ejemplo, conyum search some_name
).También resolverá automáticamente las dependencias por usted. Los paquetes (y con un poco de ayuda adicional sus dependencias) también se pueden desinstalar fácilmente.
En los sistemas Debian, el repositorio equivalente y las herramientas de resolución de dependencia son proporcionadas por Apt (
apt-get
yaptitude
).Para resumir: si solo quieres un software, prueba
yum
primero. Si no está disponible allí, puede intentar encontrar unrpm
paquete existente . Si no hay ninguno o tiene algunos requisitos especiales, compile desde la fuente.fuente
apt-get
o todavía se recomienda para algo?apt-get
no registró dependencias automáticas y las dejó atrás después de una desinstalación, mientras queaptitude
luego introdujo el seguimiento de dependencias adecuado. Además, también proporcionó algunas características adicionales que no están disponibles enapt-get
. No estoy seguro, pero creo que en algún momentoapt-get
yaptitude
donde se actualizó para usar el mismo backend avanzado que proporciona gran parte de esa funcionalidad.Yum son RPM son lo mismo, excepto que yum obtiene los paquetes de la red automáticamente y los instala (usando
rpm -i
) en un solo paso. Debe usarse siempre que sea posible para facilitar la actualización. Úselorpm
solo cuando no haya un paquete que pueda encontraryum
y use elmake
método solo cuando no haya un paquete .rpm disponible o necesite cambiar algunas opciones de tiempo de compilación.fuente