Repositorios De Software. Actualizaciones en Linux

in #steemstem6 years ago

Cuando nuestra distribución Linux actualiza, como podría ser en el caso de un apt update ,apt upgrade  (en Debian y derivadas), lo que sucede es que nuestro equipo busca en los repositorios indicados las versiones disponibles de los paquetes que tenemos instalados y los compara, de esta forma verifica si existen versiones nuevas, con el siguiente paso descarga los paquetes que se deben instalar y sustituye las versiones anteriores por la nueva versión.



Imagen disponible aquí descargada de Pixabay


Los repositorios de los que tanto hablamos en Linux son técnicamente Repositorios de Software, entendiendo por estos como estructuras de almacenamientos del cual se puede recuperar e instalar paquetes de programas, desde un equipo para una plataforma determinada. De esta manera en un servidor que puede estar dentro de una red local o en Internet se colocan bibliotecas de software que posteriormente serán consultadas por equipos para descargar aquellos que sean solicitados.

Un repositorio dentro de una empresa puede ser creado para generar una réplica de un repositorio público y así evitar que los usuarios tengan que ir a Internet para actualizar sus sistemas, también para tener Software que le pertenece a la compañía y que se debe actualizar con nuevas versiones, evitando que las actualizaciones deban ser realizadas manualmente. Igualmente para instalarlo en unidades nuevas que así lo requieran.

Los repositorios usados por las distribuciones Linux para instalar y actualizar son también repositorios de software, las distribuciones apuntan a sus repositorio oficiales al momento de ser instaladas, estos pueden ser cambiados o ampliados, así cuando se desea trabajar con una aplicación que no se encuentra en los repositorios de se puede agregar otro repositorio que gestione dicha aplicación (este es el caso de las PPA tan comunes en Ubuntu). También existen distribuciones con diferentes repositorios que permiten a los usuarios moverse de versiones estables de aplicaciones a versiones betas, más actualizadas pero aun no estabilizadas e incluso repositorios para aquellos que quieran ir probando futuras versiones en desarrollo.

En una Distribución como Ubuntu el manejo de los repositorio se puede ver en la siguiente pantalla.



Pantalla de manejo de repositorios en Ubuntu 18.04. 2
Captura de Pantalla Editada con Gimp 2.10


En Linux el uso de los repositorios es una práctica importante,  las distribuciones montan un entorno gráfico con mayor o menor modificación, tiendas de programas y un sin fin de paquetes alrededor de sus repositorios. Esto puede ser en la práctica una tarea compleja y costosa, si se tiene en cuenta que todo el software tiene en mayor o menor periodicidad alguna mejora. Esto es una de las razones por lo cual existen tantas distribuciones basadas en otras anteriores. Es común que las nuevas distribuciones se basen en otras con más tiempo, un desarrollo más maduro y sobre todo con repositorios completos que les ayuden a disminuir el trabajo de desarrollo y enfocarse en solo aquello que desea modificar en la distribución.

Una distribución puede tener servidores con repositorios en diferentes países e incluso varios según el crecimiento de su comunidad y el apoyo recibido, esto debido a la necesidad de tener servidores disponibles cerca para permitir a los usuarios realizar las descargas lo más rápido posible.



PPA Personal Package Archive



Si bien los repositorios principales son la principal fuente de las distribuciones, Linux tiene como una de sus grandes fortalezas sus comunidades, un verdadero ejército de personas que colaboran de una u otra manera con los diversos proyectos, entre estos colaboradores existen una gran cantidad de desarrolladores que lanzan sus aplicaciones para diferentes plataformas o modifican alguna existente para que funcione bajo alguna versión de una distribución en concreto.

Para esto es común el uso de las PPA o Personal Package Archive, el uso de las PPA es muy común entre los usuarios de Debian y Derivadas , Ubuntu una de las más famosas distribuciones basadas en Debian goza de gran cantidad de repositorios PPA generados por proyectos que los mantienen, así como entusiastas que crean paquetes de instalación para algún software que necesitan y los configuran en forma de PPA, compartiéndolo para su uso a otros usuarios.

En Debian y derivadas agregar una PPA es tan fácil como sudo add-apt-repository ppa:tu/ppa, por otro lado debe tenerse cuidado con el uso de la PPA, buscar por Internet e instalar cualquier repositorio no es recomendable, muchas veces existen en Blogs diversos PPA dejados para instalar una aplicación, sin luego tener ningún mantenimiento, pudiendo tener problemas con nuestros sistemas, también puede dejarse vulnerable nuestro sistema, pues si no conocemos la real procedencia del repositorio puede este traer consigo un código malicioso que se estaría alojando en nuestro equipo bajo nuestra autorización. Por eso es recomendable si somos afectos a los PPA estar seguro de su procedencia, incluso existen comunidades que han creado blogs donde prueban estos repositorios y recomiendan aquellos que piensan son seguros y funcionan correctamente.




Pantalla de manejo de las PPA en Ubuntu 18.04.2

Captura de pantalla editada con Gimp 2.10


Paquetes Delta Delta Packages


Si tomamos la actualización mediante repositorios nos encontraremos con un procedimiento similar a la siguiente gráfica, donde se compara el paquete del equipo con el repositorio, si la del repositorio es más reciente, se descarga se elimina el paquete anterior y se coloca el nuevo.



Imagen realizada por @ubaldonet en Inkscape

Los paquetes delta siguen siendo repositorios de software la diferencia reside en que al momento de actualizar el proceso es diferente, el servidor de Paquetes Delta contiene paquetes donde solo están las diferencias del software, de modo que en lugar de descargar todo, se descargan paquetes más pequeños que contienen solo las modificaciones realizadas al paquete original.




Imagen realizada por @ubaldonet en Inkscape


De esta forma se comparan las versiones si la del repositorio es más nueva se descarga el paquete delta y se aplican los cambios sobre los paquetes.

En distribuciones como Fedora que en la actualidad trabajan directamente con los Paquetes Delta, en esta distribución por ejemplo en man dnf.conf una línea de nombre delta rpm=1  indica el status de los Paquetes Delta, en la actualidad viene de esta forma por defecto que indica que los paquetes delta están activados.

En otras distribuciones como Ubuntu se instala debdelta para poder usar estos paquetes sudo apt install debdelta. Para su uso en consola es tan sencillo como:

sudo apt update
sudo debdelta-upgrade
sudo apt upgrade

Los Paquetes Delta ayudan a descargar paquetes más pequeños para actualizar, ahorrando ancho de banda en organizaciones y a personas con conexiones más lentas. En contra parte requiere de más ciclos de procesador, por lo cual el proceso de actualizar los paquetes luego de la descarga puede tardar un poco más.


Consideraciones


La actualización de los sistemas es un hábito que siempre se nos ha informado como necesario, para mantener nuestros sistema más seguros. Cómo funcionan es algo que muchas veces es transparente, en un sistema cerrado como Windows posiblemente nunca sabremos con seguridad todo lo que sucede en estos procesos, por otro lado el OpenSource y en Linux más específicamente existe una forma común para estas, si bien las distribuciones pueden tener una interfaz diferente para actualizar su funcionamiento es similar entre estas.

Los Paquetes Delta por otro lado es una forma de aplicar las actualizaciones, donde se busca reducir la cantidad de información descargada de los repositorios. En grandes empresas donde cientos de equipos pueden estar conectados trabajando, si un gran número de ellos necesita actualizar el uso de ancho de banda para estas actualizaciones será mejor aprovechado si se descarga solo lo necesario.

Por otro lado también es importante tener en cuenta el ancho de banda de los servidores que contienen las actualizaciones, generalmente cuando hay actualizaciones importantes es común que gran cantidad de usuarios requieran descargar archivos de los servidores, si se usan Paquetes Delta la cantidad de información que se descarga de estos archivos es menor, permitiendo al servidor que contiene lo Repositorios agilizar el trabajo de entrega.



Referencias


Wikipedia Post

Documentación OpenSuse Post

Wiki de Ubuntu Post



Sort:  

¡Felicitaciones!



Estás participando para optar a la mención especial que se efectuará el domingo 7 de abril del 2019 a las 8:00 pm (hora de Venezuela), gracias a la cual el autor del artículo seleccionado recibirá la cantidad de 1 STEEM transferida a su cuenta, también has recibido 1 ENTROKEN el token del proyecto entropía impulsado por la plataforma steem-engine.

Te participamos que puedes invertir en el PROYECTO ENTROPÍA mediante tu delegación de Steem Power y así comenzar a recibir ganancias de forma semanal transferidas automáticamente a tu monedero todos los lunes. Entra aquí para más información sobre cómo invertir en ENTROPÍA.


Contáctanos en Discord: https://discord.gg/hkCjFeb

Apoya al trail de @Entropia y así podrás ganar recompensas de curación de forma automática. Entra aquí para más información sobre nuestro trail.

Puedes consultar el reporte diario de curación visitando @entropia.


Atentamente

El equipo de curación del PROYECTO ENTROPÍA

Siempre creando buen contenido!

Gracias por el apoyo




This post has been voted on by the SteemSTEM curation team and voting trail. It is elligible for support from @curie and @utopian-io.

If you appreciate the work we are doing, then consider supporting our witness stem.witness. Additional witness support to the curie witness and utopian-io witness would be appreciated as well.

For additional information please join us on the SteemSTEM discord and to get to know the rest of the community!

Thanks for having added @steemstem as a beneficiary to your post. This granted you a stronger support from SteemSTEM.

Thanks for having used the steemstem.io app. You got a stronger support!

Gracias por su apoyo

Hi @ubaldonet!

Your post was upvoted by Utopian.io in cooperation with @steemstem - supporting knowledge, innovation and technological advancement on the Steem Blockchain.

Contribute to Open Source with utopian.io

Learn how to contribute on our website and join the new open source economy.

Want to chat? Join the Utopian Community on Discord https://discord.gg/h52nFrV