User Tools

Site Tools


guia_rapida_y_completa_de_apt_y_dpkg

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
guia_rapida_y_completa_de_apt_y_dpkg [2024/01/28 20:32] busindreguia_rapida_y_completa_de_apt_y_dpkg [2024/02/12 00:58] (current) busindre
Line 2: Line 2:
  
 ===== APT ===== ===== APT =====
 +
 +Algo a tener en cuenta es que actualmente se recomienda el uso de apt y no apt-get/apt-cache en la medida de lo posible. Tanto apt como apt-get gestionan la resolución de dependencias; sin embargo, apt puede hacerlo de forma más inteligente. Determina cadenas de dependencias complejas en las que instala los paquetes en el orden correcto y recomienda los paquetes sugeridos para su instalación. También el comando apt proporciona información un poco más detallada al usuario, incluida una barra de progreso para cada tarea. Al actualizar usando apt upgrade se eliminan de la cache las versiones antiguas de los paquetes
  
 ==== Instalación / Desinstalación / Actualización ==== ==== Instalación / Desinstalación / Actualización ====
  
 <code bash># Instalar / Actualizar paquete (previamente se debe ejecutar apt-get update). <code bash># Instalar / Actualizar paquete (previamente se debe ejecutar apt-get update).
-apt-get install XXX               # Instala o actualiza el paquete si está instalado.+apt install XXX                   # Instala o actualiza el paquete si está instalado
 +apt install XXX=2.3.0-6           # Instalar una versión concreta de un paquete.
 apt --only-upgrade install nginx  # Actualiza el paquete si este se encuentra instalado. No instala nada si el paquete no fue instalado. apt --only-upgrade install nginx  # Actualiza el paquete si este se encuentra instalado. No instala nada si el paquete no fue instalado.
 +
 +# Al actualizar el sistema puede ser de interés marcar paquetes como no actualizables.
 +apt-mark hold XXX   # Marcar un paquete como actualizable.
 +apt-mark unhold XXX # Desmarcar un paquete como no actualizable.
  
 # Reinstalar paquete. # Reinstalar paquete.
-apt-get --reinstall install XXX+apt --reinstall install XXX
  
 # Desinstalar manteniendo ficheros de configuración. # Desinstalar manteniendo ficheros de configuración.
-apt-get remove XXX+apt remove XXX
 # Desinstalar incluyendo ficheros de configuración. # Desinstalar incluyendo ficheros de configuración.
-apt-get purge XXX+apt purge XXX
  
 # Actualizar el índice de paquetes de los repositorios (recomendable antes de instalar/actualizar). # Actualizar el índice de paquetes de los repositorios (recomendable antes de instalar/actualizar).
-apt-get update +apt update 
-Instalar actualizaciones de paquetes + 
-apt-get upgrade+# Actualizar todos los paquetes del sistema (Se debe usar apt-get update previamente). 
 +Solo se instalarán nuevos paquetes en el caso de que sea necesario satisfacer dependencias pero NO desinstalará nada, ni siquiera las dependencias. 
 +apt upgrade 
 +# Al no desinstalatar dependencias puede ser buena idea ejecutar "apt-get autoremove" de vez en cuando. 
 + 
 +# Simulación de una actualización, no realiza ningún cambio sobre el sistema y no necesita por tanto sudo/root. 
 +apt -s upgrade 
 + 
 +# Tiene el mismo funcionamiento que "upgrade" pero SÍ puede desinstalar paquetes que sean requeridos para resolver una actualización. 
 +apt full-upgrade 
 +apt dist-upgrade # Antiguo nombre, actualmente se usa "full-upgrade".
 </code> </code>
 +
 +Instalar y desinstalar al mismo tiempo uso de "+" y "-".
 +<code bash># Estos dos comandos hacen lo mismo.
 +apt install paquete1 paquete2-
 +apt remove paquete1+ paquete2</code>
 +
 +NOTA: Al listar los paquetes actualizables, si hay nuevas versiones del kernel disponibles, puede que no se muestren como el resto de paquetes. Esto se debe a que el sistema los trata como nuevos paquetes y no actualizaciones.
 +==== Buscar paquetes y ficheros de paquetes ====
 +
 +<code bash># Permite buscar paquetes usando expresiones regulares, por ejemplo ^gnome\-. Busca tanto en descripción como en nombre de paquete.
 +apt search XXX
 +
 +# Muestra todos los paquetes que apt conoce. Permite usar como parámetro un prefijo (no regex)
 +apt-cache pkgnames
 +# apt-cache pkgnames ngi # Mostrará todos los paquetes con prefijo ngi*.
 +</code>
 +
 +<code bash># apt-file permite buscar qué paquetes contienen X ficheros. 
 +apt-file update              # Actualizar lista de ficheros de todos los paquetes de los repositorios.
 +apt-file search nginx.conf   # Buscar qué paquete del repositorio contiene X fichero.
 +
 +# NOTA: apt-file es un paquete extra que debe ser instalado.</code>
 +
 +==== Obtener información sobre paquetes ====
 +
 +<code bash># Muestra más información como las versiones disponibles,las dependencias del paquete por versión, dependencias reversas del paquete disponible.
 +apt-cache showpkg XX
 +
 +# Muestra información como dependencias, repositorio, tamaño, URLs a Bugs, web oficial, etc.
 +apt show XX
 +
 +# Muestra información sobre las dependencias de un paquete.
 +apt depends XX
 +# Muestra información sobre las dependencias reversas de un paquete.
 +apt rdepends XX
 +
 +# Lista los paquetes instalados
 +apt list --installed
 +# Lista los paquetes con actualizaciones disponibles.
 +apt list --upgradeable
 +# Muestra todas las versiones disponibles de un paquete (Puede utilizar expresiones glob ?,*,[]). Los dos comandos muestran la misma información.
 +apt list --all-versions XX
 +apt-cache policy XX</code>
 +
 +==== Obtener información sobre la configuración actual del funcionamiento de apt ====
 +
 +<code bash># Vuelca la configuración de apt (hooks, triggers, etc).
 +apt-config dump
 +</code>
 +==== Limpieza de cache y paquetes no necesarios ====
 +
 +Dependendias huérfanas.
 +<code bash>#  Eliminar todos los paquetes instalados para satisfacer dependencias y que actualmente no son necesarios. 
 +apt autoremove
 +</code>
 +
 +Cache.
 +<code bash># Limpiar el repositorio local de paquetes descargados
 +apt clean     # Elimina todos los paquetes.
 +apt autoclean #  Sólo elimina paquetes que ya no se pueden descargar desde sus fuentes</code>
 +
 +==== Problemas comunes y su solución ====
 +
 +Algunos mensajes de error que pueden aparecer cuando hay un problema con apt.
 +<code>
 +ERROR Lock could not be acquired (another package manager running?)
 +The following packages have unmet dependencies
 +Cache lock can not be acquired, exiting
 +Cache has broken packages, exiting
 +</code>
 +
 +Comprobar si algún proceso está bloqueando apt.
 +<code bash>fuser /var/lib/dpkg/lock /var/lib/apt/lists/lock /var/cache/apt/archives/lock</code>
 +
 +Corregir el sistema cuando hay dependencias rotas.
 +<code bash>apt --fix-broken install</code>
guia_rapida_y_completa_de_apt_y_dpkg.1706470328.txt.gz · Last modified: 2024/01/28 20:32 by busindre