Paquetes, formatos e repositorios
Instalación de programas en Linux
- O proceso de instalación de aplicacións en Linux inicialmente era bastante complexo, xa que o usuario final debía copiar no seu equipo as fontes do programa e compilalas para obter os executables do mesmo.
- Para poder compilar e instalar o programa deste xeito, en primeiro lugar hai que ter instaladas todas as librerías necesarias para o proceso de compilación, e deberemos seguir os seguinte pasos:
- Dado que o programa estará comprimido seguramente en formato tar.gz, teremos que copiar o ficheiro comprimido no noso equipo e descomprimilo con tar (tar zxvf ficheiro.tar.gz).
- As instrucións de instalación (que probablemente se atopen nun ficheiro chamado README ou INSTALL) dirannos que scripts debemos executar para a compilación e execución do programa (normalmente make, make install).
- Este sistema de instalación de programas ten unha serie de incovenientes importantes:
- O proceso de instalación é complexo e difícil de automatizar con ferramentas gráficas.
- É tamén bastante complicado desinstalar o programa a non ser que inclúa algún script de desinstalación.
- Non ofrece unha forma cómoda de actualizar os programas, xa que teremos que instalar a nova versión da mesma forma que a inicial.
- Non hai posibilidade de ver e manexar os programas que temos instalados no equipo.
- Por todas estas razóns, moitas distribucións desenvolveron diferentes sistemas de empaquetado para facer máis sinxela (simplemente cun comando ou cunhas pulsacións do rato) a instalación, actualización e eliminación de programas.
Formatos de paquetes
- A idea principal destes sistemas de empaquetado é que os programas se distribúan xa compilados en ficheiros comprimidos que se denominan paquetes.
- O proceso de instalación dun paquete simplemente require descomprimir os ficheiros do paquete e copialos aos directorios do sistema que lles correspondan. Deste xeito a instalación de paquetes pode ser automatizada de forma sinxela por comandos ou ferramentas gráficas.
- O sistema almacena unha base de datos cos paquetes instalados e as súas versións, o que permite facilmente consultar os programas instalados, eliminar e actualizar programas.
- En ocasións, un paquete para poder funcionar precisa que no sistema estean instalados outros. Dirase entón que existen unha dependencia entre o primeiro paquete estes outros paquetes.
- O inconveniente principal do sistema de paquetes é que o mesmo paquete non é válido para distintas distribucións, xa que non hai un único formato de paquete estándar (Aínda que existen algúns programas, como alien que permite converter un paquete dun formato a outro). Os tres principais formatos de empaquetamento son:
- Formato deb: Formato de paquetes propio de Debian, que foi adquirido por moitas outras distribucións baseadas en Debian como Ubuntu, Knoppix, etc.
- Formato rpm: Formato orixinario de RedHat, que actualmente usan tamén outras distribucións como Mandriva ou Suse.
- Formato bin: Non é en si un empaquetado, senón un ficheiro executable para a instalación dun paquete.
Os repositorios
- Para facilitar a instalación e actualización de paquetes, o máis común actualmente é crear repositorios de paquetes, que son almacéns nos que se gardan os paquetes dispoñibles para unha distribución.
- Desta forma, é posible descargar directamente do repositorio os paquetes necesarios para instalar un programa, incluíndo as dependencias que precisen para funcionar correctamente, o que facilita aínda máis o proceso de instalación.
- Ademais cando aparecen novas versións dos paquetes, son engadidas aos repositorios de forma que tamén poderemos actualizar a partir deles os programas instalados.
- Para facilitar e optimizar o acceso, os repositorios contan cuns ficheiros de índice ou de síntese que enumeran os distintos paquetes e versións que almacenan.
Ferramentas para a xestión de paquetes
- As ferramentas para a instalación, actualización e borrado de paquetes son distintas para as diferentes distribucións: