dpkg es la herramienta de paquetes de bajo nivel en los sistemas de la familia Debian, mientras que rpm desempeña una función similar en los sistemas de la familia RPM. Desempaquetan archivos nativos, ejecutan acciones del ciclo de vida del paquete y actualizan las bases de datos de paquetes instalados. Herramientas que conocen los repositorios, como APT y DNF, se apoyan en estos mecanismos de nivel inferior.
Paquetes · Lección 5
rpm y dpkg
Aprende cómo `dpkg` y `rpm` examinan y modifican sus bases de datos de paquetes nativas y sus archivos locales.
Examinar un archivo antes de instalarlo
Un archivo de paquete no equivale a un único archivo ejecutable. Puede contener muchos archivos de contenido, metadatos, tratamiento de la configuración y scripts de ciclo de vida con privilegios. Antes de instalarlo, examina su origen, la firma o la ruta de descarga autenticada, los metadatos y el contenido.
Debian: $ dpkg-deb --info ./some-package.deb
Debian: $ dpkg-deb --contents ./some-package.deb
RPM: $ rpm -qip ./some-package.rpm
RPM: $ rpm -qlp ./some-package.rpm
La p de las formas de consulta RPM mostradas significa «consultar un archivo de paquete» en vez de la base de datos instalada. La salida de una consulta ayuda a revisar un paquete, pero no puede demostrar que sus scripts o programas sean seguros.
¿Qué herramienta de bajo nivel gestiona los paquetes .deb de Debian y su base de datos instalada?
Instalar un archivo local
La instalación directa de bajo nivel utiliza:
Debian: $ sudo dpkg -i ./some-package.deb
RPM: $ sudo rpm -U ./some-package.rpm
dpkg -i puede desempaquetar y configurar el archivo solicitado, pero no obtiene las dependencias que falten en los repositorios. Del mismo modo, rpm sin intermediarios no proporciona el flujo de trabajo habitual del solucionador de repositorios. Para un archivo local suele ser preferible una orden de nivel superior, porque puede resolver dependencias desde las fuentes configuradas:
Debian: $ sudo apt install ./some-package.deb
RPM: $ sudo dnf install ./some-package.rpm
Revisa la transacción antes de confirmarla. En APT, el prefijo ./ distingue una ruta local a un archivo Debian del nombre de un paquete del repositorio.
¿Qué orden mostrada puede instalar un archivo .deb local y resolver las dependencias disponibles en los repositorios?
Eliminar un paquete instalado
La eliminación recibe el nombre de un paquete instalado, no el nombre del archivo utilizado anteriormente:
Debian: $ sudo dpkg --remove package-name
RPM: $ sudo rpm --erase package-name
En Debian, --remove suele conservar los archivos de configuración clasificados como conffiles; --purge solicita que también se eliminen, sujeto a los scripts del paquete y a los datos no gestionados. Ninguna de las dos órdenes garantiza la eliminación de los datos creados por los usuarios. Las órdenes de nivel superior apt remove o dnf remove suelen ser mejores porque pueden evaluar los paquetes relacionados y presentar una transacción completa.
¿Qué operando espera dpkg --remove para un paquete instalado?
Consultar el estado instalado
Muestra los registros de paquetes instalados o conocidos con:
Debian: $ dpkg-query -l
RPM: $ rpm -qa
Para una inspección concreta, prefiere un nombre de paquete específico y un formato legible por máquinas cuando importe la fiabilidad de un script. Las bases de datos de paquetes describen el estado gestionado; los administradores locales o las aplicaciones todavía pueden modificar los archivos después, así que utiliza las funciones de verificación cuando necesites comparar los archivos instalados con los metadatos registrados.
¿Qué orden consulta todos los paquetes registrados como instalados en la base de datos RPM?
Utiliza Gestionar paquetes con RPM para practicar consultas de archivos y comprobaciones de integridad en un sistema aislado.
Lección completada
Has completado rpm y dpkg
Ahora puedes distinguir las operaciones de paquetes de bajo nivel de las transacciones con repositorios.
Examina los metadatos y el contenido de los archivos locales antes de instalarlos.
Utiliza
dpkgpara.debyrpmpara.rpmen las operaciones de bajo nivel.Prefiere APT o DNF cuando haya que resolver dependencias.
Elimina mediante el nombre del paquete instalado y verifica por separado el estado gestionado.
Guarda tu progreso
Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.
Crear una cuenta gratuita