Home Uncategorized APT – Guía rápida

APT – Guía rápida

by José Luis Sánchez Borque

USANDO EL COMANDO APT EN LINUX

Debian, madre de otras populares distribuciones como Ubuntu, Linux Mint, Elementary OS etc dispone de un robusto sistema de paquetes. Dichos paquetes proporcionan una manera simple de instalar programas y aplicaciones sin tener que recurrir a compilar el código fuente de aquellas aplicaciones que queramos instalar. De hecho. recurrir a la compilación de las fuentes de un determinado programa para instalarlo en nuestra distribución Linux no es la mejor manera de mantener todas las aplicaciones instaladas en nuestro sistema.

En todas estas distribuciones disponemos de APT (Advanced Package Tool). apt es el comando de Shell que permite interactuar con el sistema de paquetes de las distribuciones basadas en Debian.

Para el mismo propósito podríamos utilizar los comandos dpkg, pero APT es mucho más eficiente. Podemos utilizar apt para instalar nuevos paquetes, actualizarlos, borrarlos, etc.

No confundir apt con apt-get. NO son el mismo comando. Apt está sustituyendo de forma progresiva a apt-get y otros comandos, organizando de una forma más lógica y sencilla todas las acciones disponibles para el mantenimiento de paquetes.

Podemos encontrar toda la información en GESTIÓN DE PAQUETES DEBIAN

Veamos a continuación las opciones más habituales.

Actualizar la base de datos de paquetes con apt

Apt trabaja con una base de datos que proporciona toda la información de los paquetes disponibles y sus versiones. Antes de realizar cualquier instalación debemos por norma actualizarla y tenerla a la última versión. Debemos ejecutar dicho comando con privilegios de root, o serlo…

sudo apt update

root@ubu20:/home/demo# apt update
Obj:1 http://es.archive.ubuntu.com/ubuntu focal InRelease
Obj:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Obj:3 http://es.archive.ubuntu.com/ubuntu focal-updates InRelease
Obj:4 http://es.archive.ubuntu.com/ubuntu focal-backports InRelease
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho

Se puede actualizar 1 paquete. Ejecute «apt list –upgradable» para verlo.

Se puede ver en la imagen que tenemos el sistema bastante actualizado. Solo nos indica que hay un paquete que se puede instalar y como verlo:

root@ubu20:/home/demo# apt list --upgradable
Listando... Hecho
ubuntu-drivers-common/focal-updates 1:0.8.4~0.20.04.3 amd64 [actualizable desde: 1:0.8.1]
N: Hay 1 versión adicional. Utilice la opción «-a» para verla

Podemos preguntarnos donde está el o los repositorios de paquetes de los que se alimenta apt update. El fichero /etc/apt/sources.list es el encargado de ello. Contiene referencias a repositorios donde apt update busca la información para mantener actualizada la base de datos de paquetes.

Podemos ver parte del contenido de dicho fichero:

# cat /etc/apt/sources.list

#deb cdrom:[Ubuntu 20.04 LTS _Focal Fossa_ - Release amd64 (20200423)]/ focal main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://es.archive.ubuntu.com/ubuntu/ focal main restricted

# deb-src http://es.archive.ubuntu.com/ubuntu/ focal main restricted
## Major bug fix updates produced after the final release of the
## distribution.

deb http://es.archive.ubuntu.com/ubuntu/ focal-updates main restricted

# deb-src http://es.archive.ubuntu.com/ubuntu/ focal-updates main restricted
…

Actualizar los paquetes instalados con apt

Una vez actualizada la base de datos podemos actualizar los paquetes instalados con el siguiente comando:

sudo apt upgrade

root@ubu20:/home/demo# apt upgrade
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Calculando la actualización... Hecho
Los paquetes indicados a continuación se instalaron de forma automática y ya no son necesarios.
libfprint-2-tod1 libllvm9
Utilice «apt autoremove» para eliminarlos.
Se actualizarán los siguientes paquetes:
ubuntu-drivers-common
1 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados.
Se necesita descargar 44,7 kB de archivos.
Se utilizarán 9.216 B de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n]

Tenemos otra opción de hacer una actualización completa de paquetes mediante:

sudo apt full-upgrade

full-upgrade trabaja similar a upgrade salvo que si la actualización del sistema necesita eliminar algún paquete instalado del sistema, full-upgrade lo hará.

Una forma de hacer la actualización de paquetes en una sola línea es utilizando el siguiente comando:

sudo apt update && sudo apt upgrade -y

Aquí utilizamos la capacidad de ejecutar consecutivamente comandos de linux con &&, y añadimos el parámetro -y responder afirmativamente a cualquier pregunta que la actualización del sistema proponga.

root@ubu20:/home/demo# apt update && apt upgrade -y
Obj:1 http://es.archive.ubuntu.com/ubuntu focal InRelease
Des:2 http://es.archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB]
Des:3 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
Des:4 http://es.archive.ubuntu.com/ubuntu focal-backports InRelease [98,3 kB]
Descargados 317 kB en 1s (402 kB/s)
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se puede actualizar 1 paquete. Ejecute «apt list --upgradable» para verlo.
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Calculando la actualización... Hecho
Los paquetes indicados a continuación se instalaron de forma automática y ya no son necesarios.
libfprint-2-tod1 libllvm9
Utilice «apt autoremove» para eliminarlos.
Se actualizarán los siguientes paquetes:
ubuntu-drivers-common
1 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados.
Se necesita descargar 44,7 kB de archivos.
Se utilizarán 9.216 B de espacio de disco adicional después de esta operación.
Des:1 http://es.archive.ubuntu.com/ubuntu focal-updates/main amd64 ubuntu-drivers-common amd64 1:0.8.4~0.20.04.3 [44,7 kB]
Descargados 44,7 kB en 0s (95,9 kB/s)
Preconfigurando paquetes ...
(Leyendo la base de datos ... 186158 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../ubuntu-drivers-common_1%3a0.8.4~0.20.04.3_amd64.deb ...
Desempaquetando ubuntu-drivers-common (1:0.8.4~0.20.04.3) sobre (1:0.8.1) ...
Configurando ubuntu-drivers-common (1:0.8.4~0.20.04.3) ...

Es interesante destacar la información que aparece en el inicio de cada línea:

Obj:1 http://es.archive.ubuntu.com/ubuntu focal InRelease

Des:2 http://es.archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB]

Des:3 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]

Nos indica con Obj, Ign o Des si en la versión del paquete no hay cambios respecto a la versión anterior, si el paquete es ignorado por ser demasiado reciente y ni siquiera se molesta en verificarlo (no es un error) o hay una nueva versión y se la descarga.

Instalar nuevos paquetes con APT

Para instalar un nuevo paquete en el sistema debemos ejecutar el siguiente comando:

apt install <nombre del paquete>

Recordemos previamente tener actualizado el sistema de paquetes con apt update

Instalemos algunas herramientas imprescindibles:

# apt installt mc Instalamos MC

# mc Ejecutamos el comando

  • Instalemos el famoso escáner de puertos nmap:

# apt intall nmap Instalamos nmap

# nmap -version Vemos la versión instalada

  • Para localizar archivos en el sistema:

# apt install locate Instalamos locate

# updatedb Actualizamos Base datos archivos sistema

# locate nmap Localizamos ruta del fichero nmap

  • Instalar java en nuestro Ubuntu 20.04 (si no está previamente instalado):

$ sudo apt update Actualizamos paquetes

$ java -version Vemos si ya tenemos java instalado

$ apt install default-jre Instalamos Java Runtime Environment (JRE)

$ java -version Vemos la versión instalada

$ apt install default-jdk Instalamos kit desarrollo Java (JDK)

$ javac -version Vemos si ya tenemos java instalado

Instalar nuevos paquetes con APT repositorios de terceros

En alguna ocasión será necesario instalar en nuestra máquina algún paquete no incluido en los repositorios por defecto de la distribución de linux que tengamos instalada. Recordemos que dichos repositorios están dentro del fichero:

/etc/apt/sources.list

Veamos un ejemplo instalando Webmin, una interfaz gráfico basado en Web para Unix. Los pasos son los siguientes:

  • Editamos el fichero /etc/apt/sources.list el repositorio de webmin con nano o editor similar:
# nano /etc/apt/sources.list
  • Añadimos al final del fichero /etc/apt/sources.list el repositorio de Webmin y guardamos los cambios:
…

deb http://download.webmin.com/download/repository sarge contrib
  • Actualizamos el sistema:
# apt update
  • Añadimos la clave PGP de Webmin con wget para que apt pueda verificar la integridad de dicho repositorio al descargar la herramienta
wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add
  • Actualizamos de nuevo el sistema sistema:
# apt update
  • Instalamos el paquete Webmin
# apt install webmin

Podemos ver un listado de claves instaladas para apt con la orden apt-key list:

demo@ubu20:~$ apt-key list

/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-archive.gpg

------------------------------------------------------

pub rsa4096 2012-05-11 [SC]

790B C727 7767 219C 42C8 6F93 3B4F E6AC C0B2 1F32

uid [desconocida] Ubuntu Archive Automatic Signing Key (2012) <ftpmaster@ubuntu.com>

/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg

------------------------------------------------------

pub rsa4096 2012-05-11 [SC]

8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092

uid [desconocida] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>

/etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg

------------------------------------------------------

pub rsa4096 2018-09-17 [SC]

F6EC B376 2474 EDA9 D21B 7022 8719 20D1 991B C93C

uid [desconocida] Ubuntu Archive Automatic Signing Key (2018) ftpmaster@ubuntu.com

Instalar múltiples paquetes con apt

Podemos instalar varios paquetes de una sola vez con apt. Del ejemplo anterior si queremos instalar simultáneamente los paquetes mc, locate y nmap basta con teclear el comando:

# apt install mc locate nmap

Si intentamos instalar un paquete que ya está instalado en nuestro sistema, apt realizará un upgrade de dicho paquete pasando a tener la última versión del mismo.

Si por alguna razón quieres volver a instalar un paquete que ya existe ( pero por ejemplo falla por algún motivo ) pero no quieres que apt lo actualice a la última versión disponible, sino que mantenga la actual basta con ejecutar;

# apt install mc –no-upgrade

Borrar paquetes instalados con apt

Eliminar un paquete instalado es muy fácil. Basta con ejecutar la orden apt remove:

# apt remove mc

Podemos utilizar también apt purge:

# apt purge mc

¿Cuál es la diferencia entre remove y purge?

Pues que apt remove elimina solamente el paquete, mientras que apt purge elimina el paquete y los ficheros de configuración del mismo que haya en el sistema. Típicamente suelen estar en /etc/

Ver el contenido de un paquete con apt

Podemos objeter más información del paquete antes de instalarlo con

# apt show <nombre del paquete>

demo@ubu20:~$ apt show mc

Package: mc
Version: 3:4.8.24-2ubuntu1
Priority: optional
Section: universe/utils
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Dmitry Smirnov <onlyjob@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 1.501 kB
Provides: mcedit
Depends: libc6 (>= 2.15), libext2fs2 (>= 1.37), libglib2.0-0 (>= 2.59.2), libgpm2 (>= 1.20.7), libslang2 (>= 2.2.4), libssh2-1 (>= 1.2.8), mc-data (= 3:4.8.24-2ubuntu1)
Recommends: mime-support, perl, unzip
Suggests: arj, bzip2, catdvi | texlive-binaries, dbview, djvulibre-bin, epub-utils, file, genisoimage, gv, imagemagick, libaspell-dev, links | w3m | lynx, odt2txt, poppler-utils, python, python-boto, python-tz, xpdf | pdf-viewer, zip
Homepage: https://www.midnight-commander.org

Listar los paquetes que pueden ser actualizados

Bastará con utilizar la orden apt list. Ojo, no instala nada, solo nos indica cuales pueden ser actualizados.

# apt list –upgradeable

demo@ubu20:~$ sudo apt list --upgradeable

Listando... Hecho
gdb/focal-updates 9.2-0ubuntu1~20.04 amd64 [actualizable desde: 9.1-0ubuntu1]
gdbserver/focal-updates 9.2-0ubuntu1~20.04 amd64 [actualizable desde: 9.1-0ubuntu1]
libsane-common/focal-updates,focal-updates 1.0.29-0ubuntu5.2 all [actualizable desde: 1.0.29-0ubuntu5.1]
libsane/focal-updates 1.0.29-0ubuntu5.2 amd64 [actualizable desde: 1.0.29-0ubuntu5.1]
sane-utils/focal-updates 1.0.29-0ubuntu5.2 amd64 [actualizable desde: 1.0.29-0ubuntu5.1]

Listar todos los paquetes instalados en el sistema

Para listar todos los paquetes instalados basta con usar la orden:

# apt list –installed

demo@ubu20:~$ sudo apt list --installed

Listando... Hecho

accountsservice/focal-updates,now 0.6.55-0ubuntu12~20.04.1 amd64 [instalado, automático]
acl/focal,now 2.2.53-6 amd64 [instalado, automático]
acpi-support/focal,now 0.143 amd64 [instalado, automático]
acpid/focal,now 1:2.0.32-1ubuntu1 amd64 [instalado, automático]
adduser/focal,focal,now 3.118ubuntu2 all [instalado, automático]
adwaita-icon-theme/focal-updates,focal-updates,now 3.36.1-2ubuntu0.20.04.2 all [instalado, automático]

Ver si un paquete está instalado en el sistema con apt

Basta con ejecutar la orden

# apt list <nombre del paquete>

demo@ubu20:~$ apt list locate

Listando... Hecho
locate/focal,now 4.7.0-1ubuntu1 amd64 [instalado]
locate/focal 4.7.0-1ubuntu1 i386

demo@ubu20:~$ apt list mc

Listando... Hecho
mc/focal,now 3:4.8.24-2ubuntu1 amd64 [instalado]

demo@ubu20:~$ apt list nmap

Listando... Hecho
nmap/focal 7.80+dfsg1-2build1 amd64

You may also like

Leave a Comment