Herramientas de usuario

Herramientas del sitio


linux:gestionprogramas

¡Esta es una revisión vieja del documento!


Gestión de programas (Debian, Ubuntu)

Paquetes y repositorios

Linux tiene un núcleo denominado Kernel que es el componente que define el sistema operativo, y que fue desarrollado inicialmente por Linus Torvalds, aunque en la actualidad son miles los desarrolladores.

Para complementar al sistema operativo, se utilizan una serie de herramientas/programas desarrollados en parte por el proyecto GNU, por lo que el nombre completo del sistema operativo sería GNU/Linux.

Es habitual que algunos programas para funcionar, dependan a su vez de la existencia o funcionamiento de otros programas. A esto se le llama Dependencia. Se dice que existe un problema de dependencia cuando falta una aplicación o biblioteca, oversión diferente necesaria, para el correcto funcionamiento de otro programa.

Las herramientas que se utilizan junto con el kernel, es lo que diferencia a unas distribuciones Linux de otras. En este caso vamos a centrarnos en las distribuciones que utilizan como distribución principal Debian. Un ejemplo de distribución basada en Debian, es Ubuntu.

Las herramientas que se usan con el kernel de cada distribución, son programas, archivos, software en general, que añaden funcionalidad al sistema operativo y que pueden servir para cualquier cosa, ya tengan interfaz gráfica o funcionen a través de comandos de terminal. Este software se organiza de forma ordenada en paquetes, de forma que cada paquete contiene los programas y archivos necesarios para realizar una funcionalidad concreta. Instalar un paquete es el equivalente en Windows de “instalar un programa” desde un .exe o un .msi.

El formato de paquete depende de cada distribución linux. Los paquetes de las distribuciones basadas en Debian (deb), tienen un nombre con la siguiente estructura: [nombrePaquete] [versiónPaquete] [arquitectura].deb. Otras distribuciones Linux utilizan paquetes de tipo rpm en lugar de deb.

A su vez, estos paquetes se almacenan en repositorios o réplicas, que se encuentran normalmente en la nube, mantenidos por empresas afines al desarrollo de la distribución Linux, o entidades como Universidades, organizaciones vinculadas al software libre, etc. En el caso de Ubuntu, por ejemplo, los repositorios se corresponden con los de la empresa Canonical (responsable de su desarrollo) y sus asociados.

Archivo sources.list (Ubuntu)

Los repositorios o réplicas a las que podemos acceder en Ubuntu, se encuentran definidos en el archivo /etc/apt/sources.list. Este archivo puede abrirse y editarse con cualquier editor de texto plano que no deje formato (no sería válido Open Office, Libre Office, ni similar).

En cada linea está definido un repositorio (las lineas que comienzan con # son comentarios), de la siguiente forma:

  1. Tipo de paquete:
    • deb: binario (ejecutable) de Debian. Como los .exe de Windows.
    • deb-src: Código fuente.
  2. URI (Universal Resource Identifier): Lugar donde se localiza el repositorio (web, CD, DVD, disco duro, etc).
  3. Distribución: Ruta donde se encuentran los paquetes. Si es exacta, se omiten las secciones y termina con /.
  4. Secciones:
    • Main: Oficial, contiene los paquetes creados por desarrolladores oficiales.
    • Restricted: Está creada por los desarrolladores de Ubuntu, y puede contener software provativo o dependencias no libres.
    • Universe: Programas (paqutes) creados y mantenidos por la comunidad de usuarios, nunca por Canonical (desarrolladora de Ubuntu).
    • Multiverse: Software privativo de empresas asociadas o con convenio, con canonical.

A continuación se detallarán diferentes programas para la gestión de paquetes, tanto gráficos como por línea de comandos. Todos ellos parten de la información contenida en el archivo sources.list. Siempre pensando en Debian y Ubuntu.

Orígenes del software (Software y actualizaciones)

Aplicación gráfica en la que se muestran 6 pestañas:

  • Software de Ubuntu: Selección de las secciones de la versión estable y lugar donde se encuentra el repositorio.
  • Otro software: Permite añadir repositorios oficiales, o no.
  • Actualizaciones: Se indica el tipo de actualizaciones a instalar y la periodicidad para su comprobación.
  • Autenticación: Claves públicas para verificar que los repositorios son de confianza.
  • Controladores adicionales: Muestra controladores alternativos (y provativos) a los que tenemos instalados, por si los queremos instalar. Si son de los fabricantes, es posible que con ellos desarrollemos la potencia de nuestro hardware.
  • Desarrollo: Para dar consentimiento a actuar como tester de características o funcionalidades aún no publicadas.

Software de Ubuntu

Aplicación gráfica, a modo de “Play Store” de Google o similares, en la que se organizan las aplicaciones de los paquetes de los repositorios por categorías, sin hacer distinción entre las libres de las privativas, o las gratuitas con las de pago.

Se pueden ver datos de cada una, una breve descripción, así como las que están instaladas, y si necesitan actualizaciones. También pueden desinstalarse desde aquí.

apt-get

Advance Packaging Tool, creada por Debian para la gestión de paquetes en sistemas GNU/Linux. Herramienta usada con permisos de superusuario desde la línea de comandos.

A continuación se exponen las acciones más comunes que puede realizar:

  • apt-get update: Actualiza la lista de paquetes de los repositorios. Debe realizarse siempre antes de actualizar el sistema, o la versión de un paquete a otra superior.
  • apt-get upgrade: Debe utilizarse después de apt-get update, para actualizar los paquetes instalados a una versión superior. Con la opción -u se nos informa antes, de las acciones que se van a realizar.
  • apt-get dist-upgrade: Actualiza el sistema operativo al completo y resuelve conflictos de paquetes, buscando y configurando automáticamente las dependencias. Con la opción -u se nos informa antes, de las acciones que se van a realizar.
  • apt-get install [nombrePaquete]: Busca en la base de datos el paquete, e instala la última versión. Si requiere de algún otro por temas de dependencia, informa y lo instala también.
  • apt-get –reinstall install [nombrePaquete]: Reinstalamos un paquete, por ejemplo porque se haya dañado durante la instalación.
  • apt-get remove [nombrePaquete]: Elimina el paquete especificado. Con la opción –purge se elimina además los archivos de configuración del paquete.
  • apt-get clean y apt-get autoclean: Eliminación de paquetes que ya no se utilizan.
  • apt-get check: Herramienta de diagnóstico que actualiza la caché de los paquetes y comprueba la existencia de dependencias rotas.
  • apt-cdrom add: Añade un CD/DVD como repositorio a sources.list.
  • apt-cache show [nombrePaquete]: Información acerca de un paquete concreto.

La carpeta en la que se almacenan los paquetes descargados es /var/cache/apt/archives. La información del estado de cada fuente de paquetes definida en sources.list se encuentra en /var/lib/apt/list.

Synaptic

Interfaz gráfica para apt-get. Se utiliza para realizar las mismas acciones que con apt-get, aunque es menos eficaz para la resolución de conflictos.

Permite ver los paquetes organizados por categorías (bases de datos, programación, juegos, etc.), por su estado (instalados, actualizados, rotos, etc.), por su origen, o por filtros personalizados.

También muestra información de la totalidad de paquetes instalados, información de los mismos, dependencias, etc.

Y por supuesto, gestión de repositorios, instalación de paquetes (uno a uno o varios a la vez), desinstalación, etc.

aptitude

Gestor de paquetes que puede utilizarse tanto en consola de comandos como en modo gráfico. Tiene algunas ventajas respecto de apt, como por ejemplo la instalación automática de paquetes sugeridos o recomendados, aunque no sean dependencias, así como la desinstalación automática de paquetes que se instalaron como dependencias de otros, cuando ya no se precisan.

En consola de comandos pueden realizarse las siguientes acciones:

  • aptitude update: Actualiza la lista de paquetes de los repositorios.
  • aptitude install [nombrePaquete]: Instala el paquete referido.
  • aptitude install [nombrePAquete] = [versión]: Instala una versión determinada de un paquete.
  • aptitude safe-upgrade: Actualiza los paquetes instalados, resolviendo los problemas de dependencias instalando otros, pero sin eliminar ninguno.
  • aptitude full-upgrade: Si es necesario, elimina un paquete para poder instalar otro.
  • aptitude remove [nombrePaquete]: Elimina un paquete, pero no sus archivos de configuración.
  • aptitude purge [nombrePaquete]: Elimina un paquete y sus archivos de configuración.
  • aptitude show [nombrePaquete]: Muestra información detallada del paquete.
  • aptitude search [nombre-Paquete]: Busca un paquete por su nombre y/o descripción.
  • aptitude hold [nombrePAquete]: Bloquea un paquete. Útil cuando por ejemplo, su existencia es necesaria para el funcionamiento de otro.

Para acceder a aptitude en modo gráfico, escribimos aptitude en un terminal. Aunque la idea de uso es la misma que con Synaptic, la interfaz es de estilo consola de comandos, y es bastante más engorrosa. Aunque puede usarse el ratón, está pensada para usar sólo teclado.

En la parte superior hay una barra de menús a la que podemos acceder , o salir, con ctrl + t. También podemos hacer desaparecer o aparecer la parte inferior (si necesitamos más espacio) con may + d.

Para poder realizar las acciones más importantes (instalar, desinstalar, etc), debemos identificarnos como superusuarios: Acciones –> 'Convertirse en Administrador'.

Al inicio aparecen todos los paquetes agrupadas por categorías. Podemos navegar con las flechas e 'intro'. Pulsado 'intro' sobre un paquete, obtenemos información detallada del mismo en una nueva pestaña. Podemos usar [ y ] para abrir y cerrar respectivamente, todas las categorías de un grupo.

Podemos buscar un paquete desde esta opción del menú, o pulsando /.

Si tenemos varias pestañas, podemos navegar entre ellas con F6 y F7, y cerrar una de ellas con q. También podemos cerrar la aplicación con q.

En el listado de paquetes aparece una letra junto a cada uno que indica su estado:

  • i: Paquete instalado.
  • c: Paquete eliminado, aunque permanecen sus archivos de configuración.
  • p: Paquete no instalado, o eliminado junto con sus archivos de configuración.
  • v: Paquete virtual. Como tal, no existe, son sólo nombres necesarios para el funcionamiento de algún otro paquete.
  • B: Paquete roto, dependencias no cumplidas.
  • U: Paquete desempaquetado, pero no configurado.
  • C: Paquete semi-configurado, normalmente por interrupción del proceso.
  • H: Paquete semi-instalado. normalmente por interrupción del proceso.

Para llevar a cabo acciones sobre un paquete podemos usar las siguientes combinaciones de teclas para amrcar dichas acciones:

  • u o Acciones –> Actualizar la lista de paquetes: Actualizar lista de paquetes de los repositorios.
  • U o Acciones –> Marcar actualizable: Actualizar todos los paquetes.
  • +: Instala o actualiza un paquete (resaltado en verde).
  • -: Elimina un paquete (resaltado en rosa).
  • _: Purga un paquete (elimina también los archivos de configuración).
  • =: Bloquea un paquete en su versión actual.
  • L: Reinstala un paquete.
  • ctrl+u: Deshace la acción realizada.

Una vez las acciones han sido marcadas, podemos ejecutarlas pulsando la tecla g.

dpkg

linux/gestionprogramas.1542104201.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki