Jump To Close Expand all Collapse all Table of contents Empaquetado y distribución de software Hacer que el código abierto sea más inclusivo Proporcionar comentarios sobre la documentación de Red Hat 1. Introducción al empaquetado RPM Expand section "1. Introducción al empaquetado RPM" Collapse section "1. Introducción al empaquetado RPM" 1.1. Introducción al embalaje RPM Expand section "1.1. Introducción al embalaje RPM" Collapse section "1.1. Introducción al embalaje RPM" 1.1.1. Ventajas de las RPM 2. Preparación del software para su empaquetado en RPM Expand section "2. Preparación del software para su empaquetado en RPM" Collapse section "2. Preparación del software para su empaquetado en RPM" 2.1. Qué es el código fuente Expand section "2.1. Qué es el código fuente" Collapse section "2.1. Qué es el código fuente" 2.1.1. Ejemplos de código fuente Expand section "2.1.1. Ejemplos de código fuente" Collapse section "2.1.1. Ejemplos de código fuente" 2.1.1.1. Hola Mundo escrito en bash 2.1.1.2. Hola Mundo escrito en Python 2.1.1.3. Hola Mundo escrito en C 2.2. Cómo se hacen los programas Expand section "2.2. Cómo se hacen los programas" Collapse section "2.2. Cómo se hacen los programas" 2.2.1. Código compilado de forma nativa 2.2.2. Código interpretado Expand section "2.2.2. Código interpretado" Collapse section "2.2.2. Código interpretado" 2.2.2.1. Programas interpretados en bruto 2.2.2.2. Programas compilados en bytes 2.3. Creación de software a partir del código fuente Expand section "2.3. Creación de software a partir del código fuente" Collapse section "2.3. Creación de software a partir del código fuente" 2.3.1. Código compilado de forma nativa Expand section "2.3.1. Código compilado de forma nativa" Collapse section "2.3.1. Código compilado de forma nativa" 2.3.1.1. Construcción manual 2.3.1.2. Edificio automatizado 2.3.2. Interpretación del código Expand section "2.3.2. Interpretación del código" Collapse section "2.3.2. Interpretación del código" 2.3.2.1. Código de compilación de bytes 2.3.2.2. Código de interpretación en bruto 2.4. Software de parcheo 2.5. Instalación de artefactos arbitrarios Expand section "2.5. Instalación de artefactos arbitrarios" Collapse section "2.5. Instalación de artefactos arbitrarios" 2.5.1. Utilizando el comando de instalación 2.5.2. Utilizando el comando make install 2.6. Preparación del código fuente para su empaquetado 2.7. Poner el código fuente en el tarball Expand section "2.7. Poner el código fuente en el tarball" Collapse section "2.7. Poner el código fuente en el tarball" 2.7.1. Poner el proyecto bello en el tarball 2.7.2. Poner el proyecto pello en el tarball 2.7.3. Poner el proyecto cello en el tarball 3. Software de envasado Expand section "3. Software de envasado" Collapse section "3. Software de envasado" 3.1. Paquetes RPM Expand section "3.1. Paquetes RPM" Collapse section "3.1. Paquetes RPM" 3.1.1. Qué es un RPM 3.1.2. Listado de utilidades de la herramienta de empaquetado RPM 3.1.3. Configuración del espacio de trabajo de empaquetado RPM 3.1.4. Qué es un archivo SPEC Expand section "3.1.4. Qué es un archivo SPEC" Collapse section "3.1.4. Qué es un archivo SPEC" 3.1.4.1. Artículos del preámbulo 3.1.4.2. Artículos del cuerpo 3.1.4.3. Artículos avanzados 3.1.5. BuildRoots 3.1.6. Macros RPM 3.2. Trabajar con archivos SPEC Expand section "3.2. Trabajar con archivos SPEC" Collapse section "3.2. Trabajar con archivos SPEC" 3.2.1. Formas de crear un nuevo archivo SPEC 3.2.2. Creación de un nuevo archivo SPEC con rpmdev-newspec 3.2.3. Modificación de un archivo SPEC original para crear RPMs 3.2.4. Un ejemplo de archivo SPEC para un programa escrito en bash 3.2.5. Un ejemplo de archivo SPEC para un programa escrito en Python 3.2.6. Un ejemplo de archivo SPEC para un programa escrito en C 3.3. Construir RPMs Expand section "3.3. Construir RPMs" Collapse section "3.3. Construir RPMs" 3.3.1. Creación de RPMs de origen 3.3.2. Creación de RPM binarios Expand section "3.3.2. Creación de RPM binarios" Collapse section "3.3.2. Creación de RPM binarios" 3.3.2.1. Reconstrucción de un RPM binario a partir de un RPM fuente 3.3.2.2. Construir un RPM binario a partir del archivo SPEC 3.3.2.3. Construcción de RPMs a partir de RPMs fuente 3.4. Comprobación de los RPM para la sanidad Expand section "3.4. Comprobación de los RPM para la sanidad" Collapse section "3.4. Comprobación de los RPM para la sanidad" 3.4.1. Comprobando la cordura de Bello Expand section "3.4.1. Comprobando la cordura de Bello" Collapse section "3.4.1. Comprobando la cordura de Bello" 3.4.1.1. Comprobación del archivo bello SPEC 3.4.1.2. Comprobación del RPM binario de bello 3.4.2. Comprobando la cordura de Pello Expand section "3.4.2. Comprobando la cordura de Pello" Collapse section "3.4.2. Comprobando la cordura de Pello" 3.4.2.1. Comprobación del archivo pello SPEC 3.4.2.2. Comprobación del RPM binario de pello 3.4.3. Comprobación de la cordura del chelo Expand section "3.4.3. Comprobación de la cordura del chelo" Collapse section "3.4.3. Comprobación de la cordura del chelo" 3.4.3.1. Comprobación del archivo SPEC de cello 3.4.3.2. Comprobación de las RPM binarias del chelo 3.5. Registro de la actividad de RPM en syslog 3.6. Extraer el contenido del RPM Expand section "3.6. Extraer el contenido del RPM" Collapse section "3.6. Extraer el contenido del RPM" 3.6.1. Convertir los RPM en archivos tar 4. Temas avanzados Expand section "4. Temas avanzados" Collapse section "4. Temas avanzados" 4.1. Paquetes de firmas Expand section "4.1. Paquetes de firmas" Collapse section "4.1. Paquetes de firmas" 4.1.1. Creación de una clave GPG 4.1.2. Añadir una firma a un paquete ya existente 4.1.3. Comprobación de las firmas de un paquete con múltiples firmas 4.1.4. Un ejemplo práctico de cómo añadir una firma a un paquete ya existente 4.1.5. Sustitución de la firma en un paquete ya existente 4.1.6. Firmar un paquete en el momento de la compilación 4.2. Más sobre las macros Expand section "4.2. Más sobre las macros" Collapse section "4.2. Más sobre las macros" 4.2.1. Definir sus propias macros 4.2.2. Uso de la macro %setup Expand section "4.2.2. Uso de la macro %setup" Collapse section "4.2.2. Uso de la macro %setup" 4.2.2.1. Utilizando la macro %setup -q 4.2.2.2. Utilizando la macro %setup -n 4.2.2.3. Utilizando la macro %setup -c 4.2.2.4. Uso de las macros %setup -D y %setup -T 4.2.2.5. Uso de las macros %setup -a y %setup -b 4.2.3. Macros comunes de RPM en la sección les 4.2.4. Visualización de las macros incorporadas 4.2.5. Macros de distribución RPM Expand section "4.2.5. Macros de distribución RPM" Collapse section "4.2.5. Macros de distribución RPM" 4.2.5.1. Creación de macros personalizadas 4.3. Epoch, Scriptlets y Triggers Expand section "4.3. Epoch, Scriptlets y Triggers" Collapse section "4.3. Epoch, Scriptlets y Triggers" 4.3.1. La directiva de la época 4.3.2. Scriptlets Expand section "4.3.2. Scriptlets" Collapse section "4.3.2. Scriptlets" 4.3.2.1. Directivas Scriptlets 4.3.2.2. Desactivación de la ejecución de un scriptlet 4.3.2.3. Macros Scriptlets 4.3.3. Las directivas Triggers 4.3.4. Uso de scripts que no son de Shell en un archivo SPEC 4.4. Condicionales de RPM Expand section "4.4. Condicionales de RPM" Collapse section "4.4. Condicionales de RPM" 4.4.1. Sintaxis de los condicionales RPM 4.4.2. Ejemplos de condicionales RPM Expand section "4.4.2. Ejemplos de condicionales RPM" Collapse section "4.4.2. Ejemplos de condicionales RPM" 4.4.2.1. Los condicionales %if 4.4.2.2. Variantes especializadas de los condicionales %if Expand section "4.4.2.2. Variantes especializadas de los condicionales %if" Collapse section "4.4.2.2. Variantes especializadas de los condicionales %if" 4.4.2.2.1. El condicional %ifarch 4.4.2.2.2. El condicional %ifnarch 4.4.2.2.3. El condicional %ifos 4.5. Empaquetado de RPMs de Python 3 Expand section "4.5. Empaquetado de RPMs de Python 3" Collapse section "4.5. Empaquetado de RPMs de Python 3" 4.5.1. Descripción típica del archivo SPEC para un paquete RPM de Python 4.5.2. Macros comunes para paquetes RPM de Python 3 4.5.3. Proporciona automáticamente los paquetes RPM de Python 4.5.4. Manejo de hashbangs en scripts de Python 4.6. Paquetes RubyGems Expand section "4.6. Paquetes RubyGems" Collapse section "4.6. Paquetes RubyGems" 4.6.1. Qué son las RubyGems 4.6.2. Cómo se relacionan las RubyGems con el RPM 4.6.3. Creación de paquetes RPM a partir de paquetes RubyGems Expand section "4.6.3. Creación de paquetes RPM a partir de paquetes RubyGems" Collapse section "4.6.3. Creación de paquetes RPM a partir de paquetes RubyGems" 4.6.3.1. Convenciones de los archivos SPEC de RubyGems 4.6.3.2. Ejemplo de archivo RubyGems SPEC 4.6.3.3. Conversión de paquetes RubyGems a archivos RPM SPEC con gem2rpm Expand section "4.6.3.3. Conversión de paquetes RubyGems a archivos RPM SPEC con gem2rpm" Collapse section "4.6.3.3. Conversión de paquetes RubyGems a archivos RPM SPEC con gem2rpm" 4.6.3.3.1. Instalación de gem2rpm 4.6.3.3.2. Mostrar todas las opciones de gem2rpm 4.6.3.3.3. Uso de gem2rpm para convertir paquetes RubyGems en archivos RPM SPEC 4.6.3.3.4. Edición de plantillas de gem2rpm 4.7. Cómo manejar paquetes RPM con scripts Perls Expand section "4.7. Cómo manejar paquetes RPM con scripts Perls" Collapse section "4.7. Cómo manejar paquetes RPM con scripts Perls" 4.7.1. Dependencias comunes relacionadas con Perl 4.7.2. Utilización de un módulo Perl específico 4.7.3. Limitación de un paquete a una versión específica de Perl 4.7.4. Garantizar que un paquete utiliza el intérprete de Perl correcto 5. Nuevas características de RHEL 8 Expand section "5. Nuevas características de RHEL 8" Collapse section "5. Nuevas características de RHEL 8" 5.1. Apoyo a las dependencias débiles Expand section "5.1. Apoyo a las dependencias débiles" Collapse section "5.1. Apoyo a las dependencias débiles" 5.1.1. Introducción a la política de dependencia débil Expand section "5.1.1. Introducción a la política de dependencia débil" Collapse section "5.1.1. Introducción a la política de dependencia débil" 5.1.1.1. Dependencias débiles 5.1.1.2. Consejos 5.1.1.3. Dependencias hacia delante y hacia atrás 5.2. Apoyo a las relaciones booleanas Expand section "5.2. Apoyo a las relaciones booleanas" Collapse section "5.2. Apoyo a las relaciones booleanas" 5.2.1. Sintaxis de las relaciones booleanas 5.2.2. Operadores booleanos 5.2.3. Nido 5.2.4. Semántica Expand section "5.2.4. Semántica" Collapse section "5.2.4. Semántica" 5.2.4.1. Comprender la salida del operador if 5.3. Apoyo a los activadores de archivos Expand section "5.3. Apoyo a los activadores de archivos" Collapse section "5.3. Apoyo a los activadores de archivos" 5.3.1. Sintaxis de los activadores de archivos 5.3.2. Ejemplos de sintaxis de activadores de archivos 5.3.3. Tipos de activadores de archivos Expand section "5.3.3. Tipos de activadores de archivos" Collapse section "5.3.3. Tipos de activadores de archivos" 5.3.3.1. Se ejecuta una vez por paquete Activadores de archivos 5.3.3.2. Se ejecuta una vez por transacción Activadores de archivos 5.3.4. Ejemplo de uso de los activadores de archivos en glibc 5.4. Parser SPEC más estricto 5.5. Soporte para archivos de más de 4 GB Expand section "5.5. Soporte para archivos de más de 4 GB" Collapse section "5.5. Soporte para archivos de más de 4 GB" 5.5.1. Etiquetas RPM de 64 bits Expand section "5.5.1. Etiquetas RPM de 64 bits" Collapse section "5.5.1. Etiquetas RPM de 64 bits" 5.5.1.1. Uso de etiquetas de 64 bits en la línea de comandos 5.6. Otras características 6. Recursos adicionales sobre el embalaje RPM Settings Close Language: English 한국어 简体中文 日本語 Português Español Language: English 한국어 简体中文 日本語 Português Español Format: Multi-page Single-page Format: Multi-page Single-page Language and Page Formatting Options Language: English 한국어 简体中文 日本語 Português Español Language: English 한국어 简体中文 日本語 Português Español Format: Multi-page Single-page Format: Multi-page Single-page Red Hat Training A Red Hat training course is available for RHEL 8 5.4. Parser SPEC más estricto El analizador SPEC ha incorporado ahora algunos cambios. Por lo tanto, puede identificar nuevos problemas que antes se ignoraban. Previous Next