Instalar software en Linux

Qué es APT

APT (Advanced Package Tool) es el sistema de Debian para gestionar el software. Se encarga de mantener nuestra computadora sin software inservible o medio instalado e impedir conflictos entre librerías.

Busca ante todo la estabilidad del sistema y la facilidad de uso, y es en gran parte el responsable de la estabilidad de las máquinas Debian. Después de un tiempo te preguntarás cómo has podido vivir sin él.

¿Qué ocurre cuando instalamos un programa? APT se conecta a los repositorios de paquetes .deb que figuran en /etc/apt/sources.list y descarga el paquete según las instrucciones de /etc/apt/preferences, lo instala poniendo cada archivo en su sitio y actualiza la base de datos de paquetes añadiendo una entrada con el paquete instalado y su versión.

Es muy recomendable leer la documentación de Debian:

Atención

APT utiliza el sistema de criptografía GPG para validar los paquetes .deb descargados y asegurarse de que no han sido alterados. A esto se le llama Secure APT

Versiones de Debian

Debian tiene disponibles simultáneamente tres versiones, stable, testing y unstable (para entendernos, tres sabores: "un poco pasado de moda", "moderno" y "suicida"):

  1. stable (estable): está muy probada y se considera libre de errores críticos. A esta versión no se añaden nuevos paquetes ni se modifican los existentes, sólo se añaden parches de seguridad que se descargan automáticamente desde security.debian.org al actualizar el sistema. Por su estabilidad y seguridad es la más recomendable para servidores, nuevos usuarios y aquellos que dan preferencia a la estabilidad del sistema, aunque las versiones del software no sean las más actuales.
  2. testing (en pruebas): la versión testing pasará a ser stable en un futuro no muy lejano, y contiene los paquetes sin fallos de unstable. Esto tiene varias consecuencias:
    • contiene más paquetes que stable.
    • las versiones son bastante más modernas que las de stable.
    • es mucho más estable que unstable aunque bastante menos que stable. De hecho es tan estable como las demás distribuciones y no nos dará problemas de inestabilidad.
    • hay una cuestión muy importante a tener en cuenta: los fallos en testing no se corrigen con parches de seguridad, como ocurre en stable. Cuando se detecta un bug, se corrige el paquete correspondiente en unstable, y sólo cuando transcurra un cierto tiempo pasará el paquete corregido a testing y podremos disponer de él. Esto provoca una lenta solución de los fallos de seguridad en testing.
    • dado que los paquetes están en constante revisión, cada vez que actualicemos el sistema se nos instalarán gran cantidad de paquetes, cosa que puede resultar pesada.

    Todas estas características hacen que sea una versión interesante sólo para usuarios avanzados que necesitan las nuevas prestaciones de las últimas versiones del software, pero no para servidores en producción o nuevos usuarios.

  3. unstable (inestable): es la versión en desarrollo. Puede tener bugs porque lleva las últimas versiones de los programas, y se pone a disposición de los usuarios para que la prueben e informen sobre errores. Incluso puede fallar el sistema de gestión de paquetes por dependencias insatisfechas cuando en los repositorios de software se actualizan gran número de paquetes. Una vez corregidos los fallos iniciales los paquetes pasan a testing. En unstable tampoco hay parches de seguridad: cuando se detecta un bug se corrige directamente en el paquete, que se enviará a testing al cabo de algún tiempo. Al igual que en testing, cada vez que actualicemos el sistema se nos instalarán gran cantidad de paquetes. Por todo ello esta versión sólo es adecuada para desarrolladores y aventureros.

Resumiendo:

  • stable significa muy estable.
  • testing significa tan estable como las demás distribuciones.
  • unstable significa realmente inestable.

Artículos en la categoría "Instalar software en Linux"

  1. Cómo trabajar con APT
  2. Fuentes de software
  3. Instalar paquetes no-Debian
  4. Construir un paquete Debian desde las fuentes
  5. Paquetes virtuales
  6. El sistema de alternativas
  7. Crear un Live CD en Linux