apt vs. apt-get: ¿Cuál es la diferencia en Linux?

Publicado: 2022-06-16
Terminal Linux en una computadora portátil sobre un fondo rojo.
fatmawati achmad zaenuri/Shutterstock

¿Por qué las distribuciones de Linux basadas en Debian tienen apt y apt-get ? ¿ apt reemplazó a apt-get o tienen propósitos diferentes? Te explicamos la relación entre estos dos comandos.

El sistema de gestión de paquetes de Debian

Un gran esfuerzo en la creación de una distribución de Linux es el diseño y la creación de un sistema de gestión de paquetes. Sus usuarios deben tener una forma de instalar y desinstalar paquetes de software. Eso requiere software para recuperar los archivos del paquete de su repositorio de software e instalarlos correctamente en las computadoras de los usuarios.

Cómo funcionan la instalación de software y los administradores de paquetes en Linux
RELACIONADO Cómo funcionan la instalación de software y los administradores de paquetes en Linux

Esta no es una empresa pequeña. Incluso dejando a un lado la ingeniería de software, alojar los repositorios de software requiere tiempo, esfuerzo y gastos. Esa es una de las razones por las que tantas distribuciones de Linux “nuevas” son derivaciones de una distribución de Linux existente.

Esto conduce a familias o genealogías de distribuciones de Linux, como las distribuciones basadas en Debian, las distribuciones basadas en Red Hat, las distribuciones basadas en Arch, etc.

La familia de distribuciones Debian, incluidas Ubuntu y todas las distribuciones derivadas de Ubuntu, utiliza Debian Package Manager. Esto utiliza archivos de paquete con la extensión de archivo ".deb", denominados archivos DEB. Los archivos DEB son archivos comprimidos que contienen otros archivos de almacenamiento. Los archivos de almacenamiento contienen los archivos ejecutables de la aplicación, las páginas man, las bibliotecas, etc.

Cómo instalar un archivo DEB en Linux
RELACIONADO Cómo instalar un archivo DEB en Linux

Instalar el software desde un archivo DEB significa descomprimir todos estos archivos de componentes y colocarlos en las ubicaciones correctas de su computadora. También requiere interactuar con el sistema operativo y el entorno de escritorio para que la aplicación aparezca en las búsquedas de aplicaciones y su icono se pueda agregar a los menús del sistema.

Anuncio publicitario

Los comandos apt-get y apt hacen eso. Pero, ¿por qué tenemos dos comandos para la misma cosa?

La cadena de mando

El paquete que realmente realiza la instalación se llama dpkg . En realidad, es una familia de comandos que incluye dpkg-split , dpkg-trigger y dpkg-divert . Estos son llamados, si es necesario, por las herramientas del conjunto de herramientas de paquete avanzado, o APT. APT es otra colección de herramientas, incluidas apt-get , apt-cache y apt .

El comando dpkg se considera un comando de bajo nivel. Más allá de las interacciones más simples, se vuelve muy complicado con muchas opciones. El comando apt-get actúa como interfaz para el conjunto de comandos dpkg . Esto simplifica considerablemente las cosas. apt-get está diseñado como un comando orientado al usuario y no como un comando de fondo de bajo nivel. Aun así, a pesar de su función de cara a humanos, se utilizó otro comando llamado apt-cache para mostrar información al usuario.

El comando apt proporciona otra forma de "hablar" con dpkg a través de una herramienta de línea de comandos más accesible y fácil de usar. Proporciona un subconjunto de las funciones de apt-get , pero es un subconjunto grande y proporciona todas las funciones de uso común y también incluye la funcionalidad de apt-cache .

Anuncio publicitario

Linux Mint necesita una mención especial aquí. Los mantenedores de Linux Mint han desarrollado su propia versión de apt , que es un contenedor de Python para apt-get . Ese no es el apt del que estamos hablando aquí. Nos referimos a la corriente principal de Debian apt , que se lanzó en 2014 y ganó atención y tracción en el verso del usuario cuando se incluyó en Ubuntu 16.04 en 2016.

Las diferencias entre apt y apt-get

Entonces, dpkg es la aplicación en segundo plano de bajo nivel. El comando apt-get es una interfaz completa pero simplificada para dpkg , y apt es una versión más fácil de usar pero ligeramente simplificada de apt-get .

Cómo resolver dependencias al compilar software en Ubuntu
RELACIONADO Cómo resolver dependencias al compilar software en Ubuntu

Pero apt-get y apt proporcionan más que una simple interfaz para dpkg . Hacen cosas que dpkg no hace. Recuperarán archivos de los repositorios e intentarán ayudar con las dependencias y los conflictos faltantes.

A su vez, el comando apt hace algunas cosas que apt-get no hace. Proporciona más información del tipo que el usuario promedio quiere ver durante una instalación y suprime parte de la información más oscura que muestra apt-get . apt brinda retroalimentación visual superior y utiliza resaltados de color y barras de progreso en la ventana de la terminal.

Hay algunos comandos comunes entre apt y apt-get . Todos estos comandos pueden estar precedidos por apt o apt-get y se comportarán de la misma manera:

  • install packagename : Instala un paquete.
  • remove packagename : Quitar (desinstalar) un paquete.
  • purge packagename : elimina un paquete y sus archivos de configuración.
  • actualizar nombre del paquete : actualice la información del repositorio.
  • actualizar : Actualizar todos los paquetes.
  • autoremove : elimina bibliotecas y otros paquetes que ya no son necesarios.

La opción apt full-upgrade reemplaza la opción apt-get dist-upgrade .

Estos son nuevos comandos para apt :

  • apt search : busca el nombre de un paquete en los repositorios. Esto es lo mismo que apt-cache search
  • apt show : Muestra información sobre un paquete. Esto es lo mismo que apt-cache show .
  • Opción de lista apt : muestra listas de paquetes instalados o actualizables.
  • apt edit-sources : edita directamente la lista de repositorios en los que apt busca paquetes.

Instalación de una aplicación

Puede usar apt search para ver si existe un paquete en los repositorios o para verificar que tiene el nombre correcto para el paquete. Digamos que desea instalar Scribus pero no conoce el nombre del paquete. Puede intentar buscar scribus-desktop .

 apt search scribus-desktop 

Buscando en los repositorios un paquete llamado scribus-desktop

Esa búsqueda no encontró nada. Lo intentaremos de nuevo con una pista de búsqueda más breve y genérica.

 escriba de búsqueda apt 

Buscando en los repositorios un paquete llamado scribus

Anuncio publicitario

Esto devuelve varios resultados, y podemos ver que hay uno llamado "scribus", y que ciertamente parece ser el paquete principal para la aplicación de publicación de escritorio Scribus. El comando apt show nos dará más detalles.

 apto mostrar scribus 

Uso de apt show para obtener más información sobre el paquete scribus

Obtenemos un volcado de información sobre el paquete, incluido lo que se instalará y una descripción del software.

Información sobre el paquete scribus

También sugiere otros paquetes que pueden ser necesarios, dependiendo de nuestras necesidades.

Para instalar el paquete necesitamos usar sudo .

 sudo apt install scribus 

Instalación del paquete scribus

Los archivos se recuperan de los repositorios. El archivo que se está recuperando actualmente está resaltado en marrón.

Recuperación de archivos como parte de la instalación de un paquete

Cuando se han recuperado los archivos, se instalan. El progreso de la instalación se muestra como un porcentaje que se muestra en dígitos y como una barra de progreso.

La instalación del paquete con un porcentaje y barra de progreso.

Otros comandos

Los comandos apt list y apt edit-sources son opciones en apt que no existen en apt-get .

Anuncio publicitario

El comando apt list se puede usar con las opciones --installed o --upgradeable para ver los paquetes en su computadora que están instalados y cuáles podrían actualizarse.

Para ver la lista de aplicaciones instaladas en su computadora use:

 lista apt --instalado 

Use apt para enumerar las aplicaciones instaladas

Al desplazarnos por la salida, podemos ver dos entradas para nuestra aplicación Scribus recién instalada.

Una lista de las aplicaciones instaladas

Para ver si alguna de las aplicaciones instaladas se puede actualizar, use la opción --upgradeable .

 lista apt --actualizable 

Una lista de las aplicaciones que se pueden actualizar

El comando apt también proporciona una forma de editar la información almacenada sobre los repositorios apt busca paquetes. Solo haz esto si sabes lo que estás haciendo.

 sudo apt editar-fuentes 

Edite la información del repositorio con apt

Anuncio publicitario

Este comando abre su editor predeterminado y carga el archivo que contiene la información del repositorio.

Archivo de datos del repositorio abierto en el editor nano

¿Debo usar apt o apt-get?

El comando apt-get no se actualiza con frecuencia, y eso es bueno. Tiene que mantener la compatibilidad con versiones anteriores. La compatibilidad con versiones anteriores no es una preocupación para apt . Se considera y se trata como un comando orientado al usuario.

Para el uso diario, utilice apt .

Si escribe algo relacionado con la instalación del paquete, use apt-get . Eso le brinda la mayor posibilidad de portabilidad y compatibilidad en sus scripts.

RELACIONADO: La guía para principiantes de Shell Scripting: conceptos básicos