Esta publicación cubrirá las preguntas prácticas más frecuentes de Enterprise Linux Common Package Manager (RPM). Aunque no se usa con frecuencia, rpm es imprescindible cuando se enfrenta a una entrevista de Linux.
¿Qué es RPM?
RPM significa Red Hat Package Manager, que permite instalar, actualizar y eliminar paquetes en distribuciones de Linux. Es una herramienta de software libre. Desarrollado originalmente por Red Hat para Red Hat Linux, RPM ahora es utilizado por muchas distribuciones de Linux. También se ha portado a otros sistemas operativos, como Suse Linux y AIX de IBM a partir de la versión 5.
¿Qué tipos principales de RPM?
Hay dos tipos principales de paquetes RPM:binario (o aplicaciones) y fuente. Se ha compilado un RPM binario para una arquitectura particular. Código fuente RPM que proporciona el código fuente para otros paquetes. El nombre del paquete que termina con el sufijo src.rpm como como:
Binary Package: xpdf-3.00-11.12.i386.rpm Source code package: xpdf-3.00-11.12.src.rpm
¿Cómo comprobar que el paquete está instalado?
Utilice el “rpm –q ” para verificar rápidamente que se ha instalado un paquete. Para verificar, debe usar el nombre del paquete instalado, no el nombre del archivo RPM. También puede utilizar un nombre de paquete parcial. Alternativamente, puede usar el comando “rpm -qa |palabra clave grep ” que le mostrará muchos más paquetes.
¿Cómo obtener información más detallada al instalar un paquete rpm?
La sintaxis del comando es
# rpm -Uhv package
Esto imprimirá signos # con la opción -h y la opción -v imprimirá información detallada a medida que se ejecuta el comando. Puede instalar un paquete más de una vez. El comando rpm no se quejará. Sin embargo, la operación de actualización eliminará todas las demás versiones de un paquete. Esta es una razón más para usar la opción de actualización –U.
¿Cómo actualizar el kernel?
Desde la perspectiva de la seguridad, se debe instalar un nuevo kernel con el “-i ” en lugar de actualizarse con “-U " bandera. Para que la versión anterior siga instalada y se pueda utilizar en caso de que el nuevo kernel no funcione. Por ejemplo:
# rpm -ivh kernel-2.6.9-78.0.0.0.1.EL4.I686rpm
¿Cómo mostrar el porcentaje completado a medida que se ejecuta el comando rpm?
La sintaxis básica es:
# rpm -U --percent package
El –porcentaje La opción imprime números decimales que muestran el porcentaje completado a medida que se ejecuta el comando rpm. Esta opción es más útil si incluye el comando rpm dentro de algún otro comando, como una interfaz gráfica de usuario creada a partir de un script Perl, Python o Tcl/Tk.
¿Cuál es el proceso detallado para instalar un paquete RPM?
Puede usar el comando rpm –U o el comando rpm –i para instalar un paquete. Cuando el comando rpm instala un paquete, sigue una serie de pasos:
- Comprobando el paquete y los archivos que quiere instalar
- Realización de tareas previas a la instalación
- Descomprimir los archivos y colocarlos en las ubicaciones adecuadas
- Realización de tareas de posprocesamiento
- Actualización de la base de datos de RPM
¿Cómo probar un comando rpm?
La –prueba La opción de línea de comandos le dice al comando rpm que pruebe el proceso de instalación o actualización, pero no que instale el archivo. Tales como:
# rpm -U --test eruby-devel-0.9.8-2.i386.rpm
¿Cómo instalar o actualizar varios paquetes al mismo tiempo?
Simplemente enumere cada nombre de archivo en la línea de comando rpm. La sintaxis básica es la siguiente:
# rpm -U package1.rpm package2.rpm .. package100.rpm
¿Cómo instalar el paquete rpm en diferentes directorios?
El -prefijo y –reubicar Las opciones deberían hacer que el comando rpm reubique un paquete en una nueva ubicación. Sin embargo, no todos los paquetes permiten reubicaciones. El formato básico del comando con la opción –prefijo es:
# rpm -U --prefix /new/directory package.rpm
Con la opción –reubicar, el formato del comando es:
# rpm -i --relocate /old/directory=/new/directory package.rpm
También puede usar la –raíz opción para especificar un directorio diferente para que el comando rpm asuma que es el directorio raíz o / del sistema. Esto hace que el comando rpm instale archivos bajo la nueva raíz, en lugar de en ubicaciones del sistema bajo /. Esta opción es más útil para probar la instalación de un sistema completo en un directorio de prueba. El comando debe usar el siguiente formato:
# rpm -U --root /tmp --dbpath /var/lib/rpm package.rpm
¿Cómo omitir el script al instalar/eliminar un paquete rpm?
Como parte de la instalación del paquete, así como de la eliminación, el paquete RPM puede tener secuencias de comandos que debe ejecutar el comando rpm. Estos incluyen scripts previos y posteriores a la instalación, así como scripts previos y posteriores a la desinstalación. Estos scripts pueden realizar opciones como configurar automáticamente la aplicación en función del entorno de destino. La siguiente tabla resume estas opciones.
Opción | Uso |
---|---|
–nopre | Omita los scripts previos a la instalación. |
–sin publicación | Omita los scripts posteriores a la instalación. |
–nopreun | Omita los scripts previos a la desinstalación. |
–nopostun | Omita los scripts posteriores a la desinstalación. |
–sin guiones | Omita todos los guiones; igual que –nopre, –nopost, –nopreun y –nopostun. |
Durante la instalación, puede indicarle al comando rpm que no ejecute todos los disparadores o que no ejecute ciertos disparadores. Los –no desencadenantes opción le dice al comando rpm que omita todos los disparadores.
Opción | Uso |
---|---|
–no desencadenante | Omitir disparadores de instalación. |
–no desencadenar | Omitir disparadores de desinstalación. |
–notriggerpostun | Omitir disparadores posteriores a la desinstalación. |
–no disparadores | Omita todos los factores desencadenantes; igual que –notriggerin, —notriggerun y —notriggerpostun. |
¿Qué son las opciones de ignorar con RPM?
El comando rpm admite varias opciones de ignorar que le indican al comando que ignore algún aspecto de un paquete del que normalmente se quejaría.
- La –ignorarch opción le dice al comando rpm que ignore la arquitectura del paquete e instale el paquete, incluso si la arquitectura del paquete y la arquitectura de su sistema no coinciden. Esta es una opción muy peligrosa.
- Los –ignoreos La opción de línea de comandos le dice al comando rpm que ignore el sistema operativo. Una vez más, es probable que esta no sea una buena idea en la mayoría de las situaciones.
- El –ignorar tamaño La opción le dice al comando rpm que ignore u omita una verificación de su disco duro para asegurarse de que tenga suficiente espacio para instalar el paquete. Advertencia :No use la opción –ignoresize si tiene un disco duro casi lleno, especialmente para una partición raíz o /.
- El –nodigest La opción le dice al comando rpm que omita la prueba del resumen, el valor especial que ayuda a verificar la corrección del paquete.
- La –nofirma La opción le dice al comando rpm que omita la prueba del resumen, la clave cifrada, que también ayuda a verificar la corrección del paquete.
¿Cómo instalar/actualizar el paquete rpm a través de ftp?
La sintaxis común de la siguiente manera:
# rpm -i ftp://username:[email protected]/pub/rpms/sample_rpm.src.rpm
¿Cómo instalar/actualizar el paquete rpm a través de Http?
Similar a acceder a un archivo a través de FTP, debe pasar el comando rpm una URL que identifique el archivo. Por ejemplo:
# rpm –i http://ftp.redhat.com/pub/contrib/noarch/SRPMS/Squeak-sources-3-1.src.rpm
¿Cómo eliminar varios paquetes al mismo tiempo?
La sintaxis básica es la siguiente:
# rpm -e package1.rpm package2.rpm .. package100.rpm
¿Cómo enumerar los archivos de documentación de un paquete?
La sintaxis básica es:
# rpm –qd package_name
¿Cómo listar los archivos en un paquete?
La sintaxis básica es:
# rpm –ql package_name
¿Cómo listar los scripts en un paquete?
La sintaxis básica es:
# rpm -q --scripts package_name
¿Cómo listar lo que ha cambiado para un paquete?
El formato básico del comando es:
# rpm -q --changelog package_name
¿Cómo enumerar los paquetes instalados más recientemente?
La sintaxis básica es:
# rpm -qa --last
El siguiente comando mostrará más o menos de diez líneas.
# rpm -qa --last | head
¿Cómo crear consultas personalizadas?
La sintaxis básica del formato de consulta es %{tag_name}. Por ejemplo:
# rpm -q --qf "%{N}.%{V}--%{R}.%{ARCH}\n" kernel-smp
El comando anterior mostrará la información completa del paquete kernel-smp según lo personalizado. Por ejemplo:
# rpm -q --qf "%{N}.%{V}--%{R}.%{ARCH}\n" kernel-smp kernel-smp.2.6.9--67.0.0.0.1.EL.i686
¿Qué son las etiquetas de información del paquete compatibles con RPM?
Etiquetas de consulta de información del paquete:
Etiqueta | Retenciones |
---|---|
NOMBRE | Nombre del paquete |
VERSIÓN | Número de versión |
LIBERAR | Número de versión |
RESUMEN | Resumen de una línea del contenido del paquete |
DESCRIPCIÓN | Texto descriptivo sobre el paquete |
TIEMPO DE CONSTRUCCIÓN | Se creó el paquete de tiempo |
CONSTRUIR HOST | Se creó el paquete de host |
TALLA | Tamaño de todos los archivos regulares en la carga útil |
LICENCIA | El paquete de licencia se publicó bajo |
GRUPO | Nombre de categoría o grupo descriptivo para el paquete |
SO | El paquete del sistema operativo se creó para |
ARCO | Arquitectura, como i386 |
ORIGENPM | El RPM de origen asociado |
HORA DE CAMBIO | Grupo de tiempos de registro de cambios |
CAMBIAR NOMBRE DE REGISTRO | Array de nombres de registro de cambios |
CAMBIAR TEXTO DEL REGISTRO | Array de entradas de texto de registro de cambios |
PREIN | Script de preinstalación |
POSTÍN | Script posterior a la instalación |
PREUN | Script previo a la desinstalación |
POSTÚN | Post script de desinstalación |
PLATAFORMA | Plataforma |
¿Cómo verificar los paquetes RPM instalados?
La sintaxis básica es:
# rpm -V verify_options package_name
Para verificar todo su sistema, use -a opción.
¿Cómo determinar qué capacidades requiere un paquete?
La sintaxis básica es:
# rpm -q query_options --requires packages
¿Cómo verificar qué entra en conflicto con un paquete determinado?
La sintaxis básica es:
# rpm –q query_options --conflicts packages