4 de agosto de 2016

Mantenimiento de software en Linux #LPIC alert

Hoy en día, la forma en la que se desarrolla y se distribuye el software ha aumentado y cambiado tanto que alcanza ritmos realmente vertiginosos. Esto ha supuesto una modernización en cuanto al mantenimiento del mismo en todas las distribuciones de GNU/Linux y otros sistemas UNIX-like tipo FreeBSD.

Si antiguamente, para instalar un software, teníamos o bien que tener el código fuente y someterlo a un proceso de compilación el cuál, había que esperar a que saliera bien para añadirlo a nuestro sistema; o bien teníamos que tener el software ya previamente pre-compilado, adherirlo al sistema y esperar a que también funcionase.

Todo esto ha conllevado a que se desarrollen mecanismos que permitan gestionar ese software de una forma más cómoda y rápida. Sin tener que estar pasando por tanto make install clean. Este tipo de situaciones a menudo incómodas se ha podido solventar gracias a la llegada de los gestores de paquetes.

El gestor de paquetes, es un programa o un conjunto de herramientas que permiten el mantenimiento y gestión del software que se encuentre en nuestro sistema, apoyado por una base de datos permite obtener resultados de nuestro software instalado en poco tiempo, además de poder exportarla por si existen problemas en un futuro. También posibilita la instalación de software adicional.

El software no se encuentra en un comprimido con código fuente listo para compilar, el software se encuentra en un archivo comprimido con una extensión específica, la cuál identifica que sistema de paquetes está utilizando como es el caso de .deb o .rpm. Dentro de ellos, se encuentran los binarios listos para utilizarse además de información adicional como un historial de cambios, descripciones, scripts... a este archivo comprimido se le denominan paquetes de software.

Gracias a estos gestores podemos trabajar con los paquetes y mantener así una mayor integridad en todo el sistema al registrar todos los programas, scripts... que instalemos. Con la vieja forma, no sabemos que tenemos instalado a menos que indaguemos o efectuemos la instalación de forma manual y nos acordemos.

Sin embargo, los gestores de paquetes que se desarrollaron en un principio como es el caso de dpkg por parte de la rama de Debian, ó rpm por parte del mundo de Red Hat. No facilitaban tareas como la resolución de dependencias, algo clave y muy sustancial. Porque esto ahorra hasta un 99% cuando se pretendía instalar multitud de paquetes que requerían de dependencias que no estuvieran instaladas en el sistema.

Para ello se elaboraron los gestores de paquetes de alto nivel. Éstos permiten una flexibilidad enorme y le sacan el potencial oculto a los gestores de paquetes de bajo nivel como es el caso de rpm y dpkg. Permiten buscar dependencias de cualquier paquete que se desee instalar, siempre y cuando los encuentre en los servidores que distribuyan los paquetes, los cuáles reciben el nombre de repositorios.

Entre otras cosas también permite buscar fácilmente paquetes instalados o disponibles en dichos repositorios, y la posibilidad de exportar las bases de datos con las que suelen trabajar para generar copias de seguridad de los mismos y generar puntos de retorno para usar rollbacks (vuelta de estado anterior de la DB), entre muchas más cosas.

En los próximos artículos, iré explicando el uso de los 2 gestores de bajo nivel como es el caso de dpkg y rpm además de los gestores de alto nivel como la suite APT y aptitude; o YUM y DNF.

No hay comentarios:

Publicar un comentario

Gracias por visitar mi blog y animarte a comentar. Por favor se respetuoso con sus comentarios. Cualquier error es preferible reportárlo que criticarlo por el bien de todos.



Licencia y responsabilidades

Licencia Creative Commons
netSys blog por Álvaro Castillo se encuentra bajo una Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.

El propietario de este blog no se responsabiliza de los daños que puedan generarse u ocurrir por la información expuesta aquí, en caso de ser utilizada la responsabilidad recae bajo quién la use.

Se les informa de posibles publicaciones donde queden expuestas imágenes a terceros o marcas comerciales que siempre tendrán sus fuentes, y sus atribuciones.

Por último, en caso de confusión por la temática que se trate de los artículos, tutoriales...etc dejaremos claro que este sitio Web no colabora directamente con ningún proyecto de forma oficial.