apt vs. apt-get: ¿Cuál es la diferencia en Linux?
Publicado: 2022-06-16 ¿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.
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.
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.
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
.
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
.
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
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
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
Obtenemos un volcado de información sobre el paquete, incluido lo que se instalará y una descripción del software.
También sugiere otros paquetes que pueden ser necesarios, dependiendo de nuestras necesidades.
Para instalar el paquete necesitamos usar sudo
.
sudo apt install scribus
Los archivos se recuperan de los repositorios. El archivo que se está recuperando actualmente está resaltado en marrón.
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.
Otros comandos
Los comandos apt list
y apt edit-sources
son opciones en apt
que no existen en apt-get
.
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
Al desplazarnos por la salida, podemos ver dos entradas para nuestra aplicación Scribus recién instalada.
Para ver si alguna de las aplicaciones instaladas se puede actualizar, use la opción --upgradeable
.
lista apt --actualizable
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
Este comando abre su editor predeterminado y carga el archivo que contiene la información del repositorio.
¿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